@dialpad/dialtone 9.66.0 → 9.67.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/dist/tokens/doc.json +13063 -13063
- package/dist/vue2/chunks/{dropdown-YdCyJ5Dq.js → dropdown-6UoczdUY.js} +41 -77
- package/dist/vue2/chunks/{dropdown-YdCyJ5Dq.js.map → dropdown-6UoczdUY.js.map} +1 -1
- package/dist/vue2/chunks/{dropdown-mjrYu_mK.js → dropdown-pHxnQPzT.js} +41 -77
- package/dist/vue2/chunks/{dropdown-mjrYu_mK.js.map → dropdown-pHxnQPzT.js.map} +1 -1
- package/dist/vue2/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
- package/dist/vue2/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
- package/dist/vue2/chunks/{icon_constants-TdxqLsS2.js → icon_constants-Dy4MEUJL.js} +2 -3
- package/dist/vue2/chunks/icon_constants-Dy4MEUJL.js.map +1 -0
- package/dist/vue2/chunks/{icon_constants-VEA0wI5C.js → icon_constants-QYpmdE0R.js} +2 -3
- package/dist/vue2/chunks/icon_constants-QYpmdE0R.js.map +1 -0
- package/dist/vue2/chunks/{index-i65YVk-U.js → index-ODod4Oj_.js} +13 -5
- package/dist/vue2/chunks/{index-i65YVk-U.js.map → index-ODod4Oj_.js.map} +1 -1
- package/dist/vue2/chunks/{index-NYFNZeHH.js → index-anN_sx1F.js} +13 -5
- package/dist/vue2/chunks/{index-NYFNZeHH.js.map → index-anN_sx1F.js.map} +1 -1
- package/dist/vue2/chunks/{index-mBWay1Qb.js → index-eJ-WWRdf.js} +87 -122
- package/dist/vue2/chunks/{index-mBWay1Qb.js.map → index-eJ-WWRdf.js.map} +1 -1
- package/dist/vue2/chunks/{index-DyqUqjvI.js → index-gj1jEXP4.js} +87 -122
- package/dist/vue2/chunks/{index-DyqUqjvI.js.map → index-gj1jEXP4.js.map} +1 -1
- package/dist/vue2/chunks/{input-PhJeBN6r.js → input-6kbd8Pju.js} +9 -3
- package/dist/vue2/chunks/{input-PhJeBN6r.js.map → input-6kbd8Pju.js.map} +1 -1
- package/dist/vue2/chunks/{input-Hqw33WBe.js → input-Axw-wFj2.js} +9 -3
- package/dist/vue2/chunks/{input-Hqw33WBe.js.map → input-Axw-wFj2.js.map} +1 -1
- package/dist/vue2/chunks/{input_group-pE6ec9R3.js → input_group-m3cWYUfI.js} +2 -4
- package/dist/vue2/chunks/{input_group-ZI7aVGEp.js.map → input_group-m3cWYUfI.js.map} +1 -1
- package/dist/vue2/chunks/{input_group-ZI7aVGEp.js → input_group-qVZaS5Bb.js} +2 -4
- package/dist/vue2/chunks/{input_group-pE6ec9R3.js.map → input_group-qVZaS5Bb.js.map} +1 -1
- package/dist/vue2/chunks/{keyboard_list_navigation-YIqTuw1W.js → keyboard_list_navigation-ScXhrxya.js} +5 -6
- package/dist/{vue3/chunks/keyboard_list_navigation-x3D6RcC7.js.map → vue2/chunks/keyboard_list_navigation-ScXhrxya.js.map} +1 -1
- package/dist/vue2/chunks/{keyboard_list_navigation-x3D6RcC7.js → keyboard_list_navigation-fJnl_Iox.js} +5 -6
- package/dist/{vue3/chunks/keyboard_list_navigation-YIqTuw1W.js.map → vue2/chunks/keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
- package/dist/vue2/chunks/link_constants-AfTWrr-n.js.map +1 -1
- package/dist/vue2/chunks/link_constants-x8NwdqmA.js.map +1 -1
- package/dist/vue2/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
- package/dist/vue2/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
- package/dist/vue2/chunks/{modal-OaWxzqNt.js → modal-VgxXAQFP.js} +2 -4
- package/dist/vue2/chunks/{modal-OaWxzqNt.js.map → modal-VgxXAQFP.js.map} +1 -1
- package/dist/vue2/chunks/{modal-8X6poIZW.js → modal-XOr4kiNZ.js} +2 -4
- package/dist/{vue3/chunks/modal-OaWxzqNt.js.map → vue2/chunks/modal-XOr4kiNZ.js.map} +1 -1
- package/dist/vue2/chunks/{notice_action-qQr3K2TC.js → notice_action-IRUoLX2d.js} +46 -71
- package/dist/vue2/chunks/{notice_action-qQr3K2TC.js.map → notice_action-IRUoLX2d.js.map} +1 -1
- package/dist/vue2/chunks/{notice_action-tEvvMg7Q.js → notice_action-P6uDyE9x.js} +46 -71
- package/dist/vue2/chunks/{notice_action-tEvvMg7Q.js.map → notice_action-P6uDyE9x.js.map} +1 -1
- package/dist/vue2/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
- package/dist/vue2/chunks/notice_constants-UXo9e3bS.js.map +1 -1
- package/dist/vue2/chunks/{popover_constants-6YkPPbnk.js → popover_constants-WsOUIY-m.js} +47 -26
- package/dist/{vue3/chunks/popover_constants-6YkPPbnk.js.map → vue2/chunks/popover_constants-WsOUIY-m.js.map} +1 -1
- package/dist/{vue3/chunks/popover_constants-h9MD6WUt.js → vue2/chunks/popover_constants-XnGWXaxX.js} +47 -26
- package/dist/vue2/chunks/{popover_constants-6YkPPbnk.js.map → popover_constants-XnGWXaxX.js.map} +1 -1
- package/dist/vue2/chunks/{sr_only_close_button-IjMVfBDE.js → sr_only_close_button-81bHIpPu.js} +18 -24
- package/dist/vue2/chunks/{sr_only_close_button-IjMVfBDE.js.map → sr_only_close_button-81bHIpPu.js.map} +1 -1
- package/dist/vue2/chunks/{sr_only_close_button-2Q9Ny1Nc.js → sr_only_close_button-ZaGdAHz7.js} +18 -24
- package/dist/vue2/chunks/{sr_only_close_button-2Q9Ny1Nc.js.map → sr_only_close_button-ZaGdAHz7.js.map} +1 -1
- package/dist/vue2/chunks/stack_constants-HraCekPm.js.map +1 -1
- package/dist/vue2/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
- package/dist/vue2/chunks/{tab-79yMX6m6.js → tab-FcsV5VmK.js} +68 -86
- package/dist/vue2/chunks/{tab-muPOS7JE.js.map → tab-FcsV5VmK.js.map} +1 -1
- package/dist/vue2/chunks/{tab-muPOS7JE.js → tab-V4cb44Ry.js} +68 -86
- package/dist/vue2/chunks/{tab-79yMX6m6.js.map → tab-V4cb44Ry.js.map} +1 -1
- package/dist/vue2/common/constants.cjs.map +1 -1
- package/dist/vue2/common/constants.js.map +1 -1
- package/dist/vue2/common/dates.cjs +1 -3
- package/dist/vue2/common/dates.cjs.map +1 -1
- package/dist/vue2/common/dates.js +1 -3
- package/dist/vue2/common/dates.js.map +1 -1
- package/dist/vue2/common/emoji.cjs +1 -1
- package/dist/vue2/common/emoji.js +1 -1
- package/dist/vue2/common/mixins.cjs +3 -3
- package/dist/vue2/common/mixins.js +3 -3
- package/dist/vue2/common/utils.cjs +44 -8
- package/dist/vue2/common/utils.cjs.map +1 -1
- package/dist/vue2/common/utils.js +44 -8
- package/dist/vue2/common/utils.js.map +1 -1
- package/dist/vue2/common/validators.cjs.map +1 -1
- package/dist/vue2/common/validators.js.map +1 -1
- package/dist/vue2/component-documentation.json +1 -1
- package/dist/vue2/dialtone-vue.cjs +12 -12
- package/dist/vue2/dialtone-vue.js +12 -12
- package/dist/vue2/lib/attachment-carousel.cjs +48 -172
- package/dist/vue2/lib/attachment-carousel.cjs.map +1 -1
- package/dist/vue2/lib/attachment-carousel.js +48 -172
- package/dist/vue2/lib/attachment-carousel.js.map +1 -1
- package/dist/vue2/lib/avatar.cjs +58 -75
- package/dist/vue2/lib/avatar.cjs.map +1 -1
- package/dist/vue2/lib/avatar.js +58 -75
- package/dist/vue2/lib/avatar.js.map +1 -1
- package/dist/vue2/lib/badge.cjs +20 -31
- package/dist/vue2/lib/badge.cjs.map +1 -1
- package/dist/vue2/lib/badge.js +20 -31
- package/dist/vue2/lib/badge.js.map +1 -1
- package/dist/vue2/lib/banner.cjs +29 -53
- package/dist/vue2/lib/banner.cjs.map +1 -1
- package/dist/vue2/lib/banner.js +29 -53
- package/dist/vue2/lib/banner.js.map +1 -1
- package/dist/vue2/lib/breadcrumbs.cjs +30 -36
- package/dist/vue2/lib/breadcrumbs.cjs.map +1 -1
- package/dist/vue2/lib/breadcrumbs.js +30 -36
- package/dist/vue2/lib/breadcrumbs.js.map +1 -1
- package/dist/vue2/lib/button-group.cjs +14 -7
- package/dist/vue2/lib/button-group.cjs.map +1 -1
- package/dist/vue2/lib/button-group.js +14 -7
- package/dist/vue2/lib/button-group.js.map +1 -1
- package/dist/vue2/lib/button.cjs +62 -55
- package/dist/vue2/lib/button.cjs.map +1 -1
- package/dist/vue2/lib/button.js +62 -55
- package/dist/vue2/lib/button.js.map +1 -1
- package/dist/vue2/lib/callbar-button-with-popover.cjs +23 -91
- package/dist/vue2/lib/callbar-button-with-popover.cjs.map +1 -1
- package/dist/vue2/lib/callbar-button-with-popover.js +23 -91
- package/dist/vue2/lib/callbar-button-with-popover.js.map +1 -1
- package/dist/vue2/lib/callbar-button.cjs +33 -49
- package/dist/vue2/lib/callbar-button.cjs.map +1 -1
- package/dist/vue2/lib/callbar-button.js +33 -49
- package/dist/vue2/lib/callbar-button.js.map +1 -1
- package/dist/vue2/lib/callbox.cjs +15 -78
- package/dist/vue2/lib/callbox.cjs.map +1 -1
- package/dist/vue2/lib/callbox.js +15 -78
- package/dist/vue2/lib/callbox.js.map +1 -1
- package/dist/vue2/lib/card.cjs +23 -16
- package/dist/vue2/lib/card.cjs.map +1 -1
- package/dist/vue2/lib/card.js +23 -16
- package/dist/vue2/lib/card.js.map +1 -1
- package/dist/vue2/lib/checkbox-group.cjs +15 -3
- package/dist/vue2/lib/checkbox-group.cjs.map +1 -1
- package/dist/vue2/lib/checkbox-group.js +15 -3
- package/dist/vue2/lib/checkbox-group.js.map +1 -1
- package/dist/vue2/lib/checkbox.cjs +16 -52
- package/dist/vue2/lib/checkbox.cjs.map +1 -1
- package/dist/vue2/lib/checkbox.js +16 -52
- package/dist/vue2/lib/checkbox.js.map +1 -1
- package/dist/vue2/lib/chip.cjs +26 -58
- package/dist/vue2/lib/chip.cjs.map +1 -1
- package/dist/vue2/lib/chip.js +26 -58
- package/dist/vue2/lib/chip.js.map +1 -1
- package/dist/vue2/lib/codeblock.cjs +11 -4
- package/dist/vue2/lib/codeblock.cjs.map +1 -1
- package/dist/vue2/lib/codeblock.js +11 -4
- package/dist/vue2/lib/codeblock.js.map +1 -1
- package/dist/vue2/lib/collapsible.cjs +34 -91
- package/dist/vue2/lib/collapsible.cjs.map +1 -1
- package/dist/vue2/lib/collapsible.js +34 -91
- package/dist/vue2/lib/collapsible.js.map +1 -1
- package/dist/vue2/lib/combobox-multi-select.cjs +38 -131
- package/dist/vue2/lib/combobox-multi-select.cjs.map +1 -1
- package/dist/vue2/lib/combobox-multi-select.js +38 -131
- package/dist/vue2/lib/combobox-multi-select.js.map +1 -1
- package/dist/vue2/lib/combobox-with-popover.cjs +39 -130
- package/dist/vue2/lib/combobox-with-popover.cjs.map +1 -1
- package/dist/vue2/lib/combobox-with-popover.js +39 -130
- package/dist/vue2/lib/combobox-with-popover.js.map +1 -1
- package/dist/vue2/lib/combobox.cjs +3 -3
- package/dist/vue2/lib/combobox.js +3 -3
- package/dist/vue2/lib/contact-centers-row.cjs +29 -86
- package/dist/vue2/lib/contact-centers-row.cjs.map +1 -1
- package/dist/vue2/lib/contact-centers-row.js +29 -86
- package/dist/vue2/lib/contact-centers-row.js.map +1 -1
- package/dist/vue2/lib/contact-info.cjs +31 -95
- package/dist/vue2/lib/contact-info.cjs.map +1 -1
- package/dist/vue2/lib/contact-info.js +31 -95
- package/dist/vue2/lib/contact-info.js.map +1 -1
- package/dist/vue2/lib/contact-row.cjs +18 -61
- package/dist/vue2/lib/contact-row.cjs.map +1 -1
- package/dist/vue2/lib/contact-row.js +18 -61
- package/dist/vue2/lib/contact-row.js.map +1 -1
- package/dist/vue2/lib/datepicker.cjs +102 -361
- package/dist/vue2/lib/datepicker.cjs.map +1 -1
- package/dist/vue2/lib/datepicker.js +102 -361
- package/dist/vue2/lib/datepicker.js.map +1 -1
- package/dist/vue2/lib/description-list.cjs +12 -11
- package/dist/vue2/lib/description-list.cjs.map +1 -1
- package/dist/vue2/lib/description-list.js +12 -11
- package/dist/vue2/lib/description-list.js.map +1 -1
- package/dist/vue2/lib/dropdown.cjs +17 -13
- package/dist/vue2/lib/dropdown.cjs.map +1 -1
- package/dist/vue2/lib/dropdown.js +17 -13
- package/dist/vue2/lib/dropdown.js.map +1 -1
- package/dist/vue2/lib/editor.cjs +109 -409
- package/dist/vue2/lib/editor.cjs.map +1 -1
- package/dist/vue2/lib/editor.js +109 -409
- package/dist/vue2/lib/editor.js.map +1 -1
- package/dist/vue2/lib/emoji-picker.cjs +234 -512
- package/dist/vue2/lib/emoji-picker.cjs.map +1 -1
- package/dist/vue2/lib/emoji-picker.js +234 -512
- package/dist/vue2/lib/emoji-picker.js.map +1 -1
- package/dist/vue2/lib/emoji-row.cjs +31 -69
- package/dist/vue2/lib/emoji-row.cjs.map +1 -1
- package/dist/vue2/lib/emoji-row.js +31 -69
- package/dist/vue2/lib/emoji-row.js.map +1 -1
- package/dist/vue2/lib/emoji-text-wrapper.cjs +22 -14
- package/dist/vue2/lib/emoji-text-wrapper.cjs.map +1 -1
- package/dist/vue2/lib/emoji-text-wrapper.js +22 -14
- package/dist/vue2/lib/emoji-text-wrapper.js.map +1 -1
- package/dist/vue2/lib/emoji.cjs +13 -40
- package/dist/vue2/lib/emoji.cjs.map +1 -1
- package/dist/vue2/lib/emoji.js +13 -40
- package/dist/vue2/lib/emoji.js.map +1 -1
- package/dist/vue2/lib/empty-state.cjs +12 -27
- package/dist/vue2/lib/empty-state.cjs.map +1 -1
- package/dist/vue2/lib/empty-state.js +12 -27
- package/dist/vue2/lib/empty-state.js.map +1 -1
- package/dist/vue2/lib/feed-item-row.cjs +27 -106
- package/dist/vue2/lib/feed-item-row.cjs.map +1 -1
- package/dist/vue2/lib/feed-item-row.js +27 -106
- package/dist/vue2/lib/feed-item-row.js.map +1 -1
- package/dist/vue2/lib/feed-pill.cjs +35 -90
- package/dist/vue2/lib/feed-pill.cjs.map +1 -1
- package/dist/vue2/lib/feed-pill.js +35 -90
- package/dist/vue2/lib/feed-pill.js.map +1 -1
- package/dist/vue2/lib/general-row.cjs +75 -184
- package/dist/vue2/lib/general-row.cjs.map +1 -1
- package/dist/vue2/lib/general-row.js +75 -184
- package/dist/vue2/lib/general-row.js.map +1 -1
- package/dist/vue2/lib/group-row.cjs +16 -27
- package/dist/vue2/lib/group-row.cjs.map +1 -1
- package/dist/vue2/lib/group-row.js +16 -27
- package/dist/vue2/lib/group-row.js.map +1 -1
- package/dist/vue2/lib/grouped-chip.cjs +20 -68
- package/dist/vue2/lib/grouped-chip.cjs.map +1 -1
- package/dist/vue2/lib/grouped-chip.js +20 -68
- package/dist/vue2/lib/grouped-chip.js.map +1 -1
- package/dist/vue2/lib/hovercard.cjs +41 -71
- package/dist/vue2/lib/hovercard.cjs.map +1 -1
- package/dist/vue2/lib/hovercard.js +41 -71
- package/dist/vue2/lib/hovercard.js.map +1 -1
- package/dist/vue2/lib/icon.cjs +12 -10
- package/dist/vue2/lib/icon.cjs.map +1 -1
- package/dist/vue2/lib/icon.js +12 -10
- package/dist/vue2/lib/icon.js.map +1 -1
- package/dist/vue2/lib/illustration.cjs +12 -9
- package/dist/vue2/lib/illustration.cjs.map +1 -1
- package/dist/vue2/lib/illustration.js +12 -9
- package/dist/vue2/lib/illustration.js.map +1 -1
- package/dist/vue2/lib/image-viewer.cjs +23 -88
- package/dist/vue2/lib/image-viewer.cjs.map +1 -1
- package/dist/vue2/lib/image-viewer.js +23 -88
- package/dist/vue2/lib/image-viewer.js.map +1 -1
- package/dist/vue2/lib/input-group.cjs +14 -24
- package/dist/vue2/lib/input-group.cjs.map +1 -1
- package/dist/vue2/lib/input-group.js +14 -24
- package/dist/vue2/lib/input-group.js.map +1 -1
- package/dist/vue2/lib/input.cjs +47 -109
- package/dist/vue2/lib/input.cjs.map +1 -1
- package/dist/vue2/lib/input.js +47 -109
- package/dist/vue2/lib/input.js.map +1 -1
- package/dist/vue2/lib/item-layout.cjs +11 -42
- package/dist/vue2/lib/item-layout.cjs.map +1 -1
- package/dist/vue2/lib/item-layout.js +11 -42
- package/dist/vue2/lib/item-layout.js.map +1 -1
- package/dist/vue2/lib/ivr-node.cjs +47 -135
- package/dist/vue2/lib/ivr-node.cjs.map +1 -1
- package/dist/vue2/lib/ivr-node.js +47 -135
- package/dist/vue2/lib/ivr-node.js.map +1 -1
- package/dist/vue2/lib/keyboard-shortcut.cjs +23 -35
- package/dist/vue2/lib/keyboard-shortcut.cjs.map +1 -1
- package/dist/vue2/lib/keyboard-shortcut.js +23 -35
- package/dist/vue2/lib/keyboard-shortcut.js.map +1 -1
- package/dist/vue2/lib/lazy-show.cjs +11 -15
- package/dist/vue2/lib/lazy-show.cjs.map +1 -1
- package/dist/vue2/lib/lazy-show.js +11 -15
- package/dist/vue2/lib/lazy-show.js.map +1 -1
- package/dist/vue2/lib/link.cjs +15 -9
- package/dist/vue2/lib/link.cjs.map +1 -1
- package/dist/vue2/lib/link.js +15 -9
- package/dist/vue2/lib/link.js.map +1 -1
- package/dist/vue2/lib/list-item-group.cjs +11 -17
- package/dist/vue2/lib/list-item-group.cjs.map +1 -1
- package/dist/vue2/lib/list-item-group.js +11 -17
- package/dist/vue2/lib/list-item-group.js.map +1 -1
- package/dist/vue2/lib/list-item.cjs +23 -42
- package/dist/vue2/lib/list-item.cjs.map +1 -1
- package/dist/vue2/lib/list-item.js +23 -42
- package/dist/vue2/lib/list-item.js.map +1 -1
- package/dist/vue2/lib/message-input.cjs +97 -360
- package/dist/vue2/lib/message-input.cjs.map +1 -1
- package/dist/vue2/lib/message-input.js +97 -360
- package/dist/vue2/lib/message-input.js.map +1 -1
- package/dist/vue2/lib/modal.cjs +36 -94
- package/dist/vue2/lib/modal.cjs.map +1 -1
- package/dist/vue2/lib/modal.js +36 -94
- package/dist/vue2/lib/modal.js.map +1 -1
- package/dist/vue2/lib/notice.cjs +21 -40
- package/dist/vue2/lib/notice.cjs.map +1 -1
- package/dist/vue2/lib/notice.js +21 -40
- package/dist/vue2/lib/notice.js.map +1 -1
- package/dist/vue2/lib/pagination.cjs +20 -81
- package/dist/vue2/lib/pagination.cjs.map +1 -1
- package/dist/vue2/lib/pagination.js +20 -81
- package/dist/vue2/lib/pagination.js.map +1 -1
- package/dist/vue2/lib/popover.cjs +75 -194
- package/dist/vue2/lib/popover.cjs.map +1 -1
- package/dist/vue2/lib/popover.js +76 -195
- package/dist/vue2/lib/popover.js.map +1 -1
- package/dist/vue2/lib/presence.cjs +22 -23
- package/dist/vue2/lib/presence.cjs.map +1 -1
- package/dist/vue2/lib/presence.js +22 -23
- package/dist/vue2/lib/presence.js.map +1 -1
- package/dist/vue2/lib/radio-group.cjs +11 -2
- package/dist/vue2/lib/radio-group.cjs.map +1 -1
- package/dist/vue2/lib/radio-group.js +11 -2
- package/dist/vue2/lib/radio-group.js.map +1 -1
- package/dist/vue2/lib/radio.cjs +15 -47
- package/dist/vue2/lib/radio.cjs.map +1 -1
- package/dist/vue2/lib/radio.js +15 -47
- package/dist/vue2/lib/radio.js.map +1 -1
- package/dist/vue2/lib/rich-text-editor.cjs +317 -336
- package/dist/vue2/lib/rich-text-editor.cjs.map +1 -1
- package/dist/vue2/lib/rich-text-editor.js +317 -336
- package/dist/vue2/lib/rich-text-editor.js.map +1 -1
- package/dist/vue2/lib/root-layout.cjs +15 -33
- package/dist/vue2/lib/root-layout.cjs.map +1 -1
- package/dist/vue2/lib/root-layout.js +15 -33
- package/dist/vue2/lib/root-layout.js.map +1 -1
- package/dist/vue2/lib/scrollbar-directive.cjs +422 -388
- package/dist/vue2/lib/scrollbar-directive.cjs.map +1 -1
- package/dist/vue2/lib/scrollbar-directive.js +422 -388
- package/dist/vue2/lib/scrollbar-directive.js.map +1 -1
- package/dist/vue2/lib/select-menu.cjs +33 -52
- package/dist/vue2/lib/select-menu.cjs.map +1 -1
- package/dist/vue2/lib/select-menu.js +33 -52
- package/dist/vue2/lib/select-menu.js.map +1 -1
- package/dist/vue2/lib/settings-menu-button.cjs +16 -42
- package/dist/vue2/lib/settings-menu-button.cjs.map +1 -1
- package/dist/vue2/lib/settings-menu-button.js +16 -42
- package/dist/vue2/lib/settings-menu-button.js.map +1 -1
- package/dist/vue2/lib/skeleton.cjs +93 -118
- package/dist/vue2/lib/skeleton.cjs.map +1 -1
- package/dist/vue2/lib/skeleton.js +93 -118
- package/dist/vue2/lib/skeleton.js.map +1 -1
- package/dist/vue2/lib/split-button.cjs +64 -164
- package/dist/vue2/lib/split-button.cjs.map +1 -1
- package/dist/vue2/lib/split-button.js +64 -164
- package/dist/vue2/lib/split-button.js.map +1 -1
- package/dist/vue2/lib/stack.cjs +33 -21
- package/dist/vue2/lib/stack.cjs.map +1 -1
- package/dist/vue2/lib/stack.js +33 -21
- package/dist/vue2/lib/stack.js.map +1 -1
- package/dist/vue2/lib/tabs.cjs +13 -20
- package/dist/vue2/lib/tabs.cjs.map +1 -1
- package/dist/vue2/lib/tabs.js +13 -20
- package/dist/vue2/lib/tabs.js.map +1 -1
- package/dist/vue2/lib/time-pill.cjs +11 -8
- package/dist/vue2/lib/time-pill.cjs.map +1 -1
- package/dist/vue2/lib/time-pill.js +11 -8
- package/dist/vue2/lib/time-pill.js.map +1 -1
- package/dist/vue2/lib/toast.cjs +21 -42
- package/dist/vue2/lib/toast.cjs.map +1 -1
- package/dist/vue2/lib/toast.js +21 -42
- package/dist/vue2/lib/toast.js.map +1 -1
- package/dist/vue2/lib/toggle.cjs +24 -28
- package/dist/vue2/lib/toggle.cjs.map +1 -1
- package/dist/vue2/lib/toggle.js +24 -28
- package/dist/vue2/lib/toggle.js.map +1 -1
- package/dist/vue2/lib/tooltip-directive.cjs +26 -32
- package/dist/vue2/lib/tooltip-directive.cjs.map +1 -1
- package/dist/vue2/lib/tooltip-directive.js +26 -32
- package/dist/vue2/lib/tooltip-directive.js.map +1 -1
- package/dist/vue2/lib/tooltip.cjs +21 -31
- package/dist/vue2/lib/tooltip.cjs.map +1 -1
- package/dist/vue2/lib/tooltip.js +22 -32
- package/dist/vue2/lib/tooltip.js.map +1 -1
- package/dist/vue2/lib/top-banner-info.cjs +21 -18
- package/dist/vue2/lib/top-banner-info.cjs.map +1 -1
- package/dist/vue2/lib/top-banner-info.js +21 -18
- package/dist/vue2/lib/top-banner-info.js.map +1 -1
- package/dist/vue2/lib/unread-pill.cjs +12 -18
- package/dist/vue2/lib/unread-pill.cjs.map +1 -1
- package/dist/vue2/lib/unread-pill.js +12 -18
- package/dist/vue2/lib/unread-pill.js.map +1 -1
- package/dist/vue2/lib/validation-messages.cjs +16 -23
- package/dist/vue2/lib/validation-messages.cjs.map +1 -1
- package/dist/vue2/lib/validation-messages.js +16 -23
- package/dist/vue2/lib/validation-messages.js.map +1 -1
- package/dist/vue2/style.css +9 -9
- package/dist/vue2/types/common/emoji/index.d.ts +59236 -2
- package/dist/vue2/types/common/emoji/index.d.ts.map +1 -1
- package/dist/vue2/types/components/button/button.vue.d.ts +1 -1
- package/dist/vue2/types/components/chip/chip.vue.d.ts +1 -1
- package/dist/vue2/types/components/combobox/combobox.vue.d.ts +1 -1
- package/dist/vue2/types/components/icon/icon.vue.d.ts +2 -2
- package/dist/vue2/types/components/icon/icon_constants.d.ts +1 -1
- package/dist/vue2/types/components/icon/icon_constants.d.ts.map +1 -1
- package/dist/vue2/types/components/illustration/illustration.vue.d.ts +2 -2
- package/dist/vue2/types/components/illustration/illustration_constants.d.ts +1 -1
- package/dist/vue2/types/components/illustration/illustration_constants.d.ts.map +1 -1
- package/dist/vue2/types/components/input/input.vue.d.ts +3 -2
- package/dist/vue2/types/components/input/input.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/modal/modal.vue.d.ts +1 -1
- package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
- package/dist/vue2/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
- package/dist/vue2/types/components/toast/toast.vue.d.ts +1 -1
- package/dist/vue2/types/components/tooltip/tooltip.vue.d.ts +1 -1
- package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
- package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
- package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
- package/dist/vue2/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +15 -0
- package/dist/vue2/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
- package/dist/vue3/chunks/{dropdown-6HXkh24e.js → dropdown-oA-_Gotg.js} +45 -40
- package/dist/vue3/chunks/{dropdown-6HXkh24e.js.map → dropdown-oA-_Gotg.js.map} +1 -1
- package/dist/vue3/chunks/{dropdown-QNvAb160.js → dropdown-p-Azgwov.js} +45 -40
- package/dist/vue3/chunks/{dropdown-QNvAb160.js.map → dropdown-p-Azgwov.js.map} +1 -1
- package/dist/vue3/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
- package/dist/vue3/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
- package/dist/vue3/chunks/{icon_constants-gIQj4mf7.js → icon_constants-Dy4MEUJL.js} +2 -3
- package/dist/vue3/chunks/icon_constants-Dy4MEUJL.js.map +1 -0
- package/dist/vue3/chunks/{icon_constants-bvhFNOPu.js → icon_constants-QYpmdE0R.js} +2 -3
- package/dist/vue3/chunks/icon_constants-QYpmdE0R.js.map +1 -0
- package/dist/vue3/chunks/{index-ouh7Bvm-.js → index-4qgKeErp.js} +84 -71
- package/dist/vue3/chunks/{index-T15rAIdX.js.map → index-4qgKeErp.js.map} +1 -1
- package/dist/vue3/chunks/{index-dfdrE-3M.js → index-GVD15GIB.js} +12 -3
- package/dist/vue3/chunks/{index-dfdrE-3M.js.map → index-GVD15GIB.js.map} +1 -1
- package/dist/vue3/chunks/{index-T15rAIdX.js → index-b_MgDylR.js} +84 -71
- package/dist/vue3/chunks/{index-ouh7Bvm-.js.map → index-b_MgDylR.js.map} +1 -1
- package/dist/vue3/chunks/{index-fEp0B-5Z.js → index-lu2o2f4r.js} +12 -3
- package/dist/vue3/chunks/{index-fEp0B-5Z.js.map → index-lu2o2f4r.js.map} +1 -1
- package/dist/vue3/chunks/{input-HIysg24t.js → input-NmYDD5bn.js} +9 -3
- package/dist/vue3/chunks/{input-HIysg24t.js.map → input-NmYDD5bn.js.map} +1 -1
- package/dist/vue3/chunks/{input-dLLo3Wtg.js → input-ttnte8zB.js} +9 -3
- package/dist/vue3/chunks/{input-dLLo3Wtg.js.map → input-ttnte8zB.js.map} +1 -1
- package/dist/vue3/chunks/{input_group-rE6nhye8.js → input_group-M-D25pOJ.js} +2 -4
- package/dist/vue3/chunks/{input_group-hV1WT2it.js.map → input_group-M-D25pOJ.js.map} +1 -1
- package/dist/vue3/chunks/{input_group-hV1WT2it.js → input_group-jWnq2DJT.js} +2 -4
- package/dist/vue3/chunks/{input_group-rE6nhye8.js.map → input_group-jWnq2DJT.js.map} +1 -1
- package/dist/vue3/chunks/{keyboard_list_navigation-YIqTuw1W.js → keyboard_list_navigation-ScXhrxya.js} +5 -6
- package/dist/{vue2/chunks/keyboard_list_navigation-x3D6RcC7.js.map → vue3/chunks/keyboard_list_navigation-ScXhrxya.js.map} +1 -1
- package/dist/vue3/chunks/{keyboard_list_navigation-x3D6RcC7.js → keyboard_list_navigation-fJnl_Iox.js} +5 -6
- package/dist/{vue2/chunks/keyboard_list_navigation-YIqTuw1W.js.map → vue3/chunks/keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
- package/dist/vue3/chunks/link_constants-AfTWrr-n.js.map +1 -1
- package/dist/vue3/chunks/link_constants-x8NwdqmA.js.map +1 -1
- package/dist/vue3/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
- package/dist/vue3/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
- package/dist/vue3/chunks/{modal-OaWxzqNt.js → modal-VgxXAQFP.js} +2 -4
- package/dist/{vue2/chunks/modal-8X6poIZW.js.map → vue3/chunks/modal-VgxXAQFP.js.map} +1 -1
- package/dist/vue3/chunks/{modal-8X6poIZW.js → modal-XOr4kiNZ.js} +2 -4
- package/dist/vue3/chunks/{modal-8X6poIZW.js.map → modal-XOr4kiNZ.js.map} +1 -1
- package/dist/vue3/chunks/{notice_action-3ed0uIMN.js → notice_action-WTucGhvr.js} +61 -40
- package/dist/vue3/chunks/{notice_action-e08Lw5W6.js.map → notice_action-WTucGhvr.js.map} +1 -1
- package/dist/vue3/chunks/{notice_action-e08Lw5W6.js → notice_action-p-ePanW_.js} +61 -40
- package/dist/vue3/chunks/{notice_action-3ed0uIMN.js.map → notice_action-p-ePanW_.js.map} +1 -1
- package/dist/vue3/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
- package/dist/vue3/chunks/notice_constants-UXo9e3bS.js.map +1 -1
- package/dist/vue3/chunks/{popover_constants-6YkPPbnk.js → popover_constants-WsOUIY-m.js} +47 -26
- package/dist/vue3/chunks/{popover_constants-h9MD6WUt.js.map → popover_constants-WsOUIY-m.js.map} +1 -1
- package/dist/{vue2/chunks/popover_constants-h9MD6WUt.js → vue3/chunks/popover_constants-XnGWXaxX.js} +47 -26
- package/dist/{vue2/chunks/popover_constants-h9MD6WUt.js.map → vue3/chunks/popover_constants-XnGWXaxX.js.map} +1 -1
- package/dist/vue3/chunks/{sr_only_close_button-Ji3Zlts6.js → sr_only_close_button-3EdsV-dH.js} +4 -4
- package/dist/vue3/chunks/{sr_only_close_button-Ji3Zlts6.js.map → sr_only_close_button-3EdsV-dH.js.map} +1 -1
- package/dist/vue3/chunks/{sr_only_close_button-gKr0Vlbz.js → sr_only_close_button-xGrHFjwA.js} +4 -4
- package/dist/vue3/chunks/{sr_only_close_button-gKr0Vlbz.js.map → sr_only_close_button-xGrHFjwA.js.map} +1 -1
- package/dist/vue3/chunks/stack_constants-HraCekPm.js.map +1 -1
- package/dist/vue3/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
- package/dist/vue3/chunks/{tab-aD6t0MNo.js → tab-RTDgnD9-.js} +49 -46
- package/dist/vue3/chunks/{tab-aD6t0MNo.js.map → tab-RTDgnD9-.js.map} +1 -1
- package/dist/vue3/chunks/{tab-X7IvNGTl.js → tab-qc3f42Yp.js} +49 -46
- package/dist/vue3/chunks/{tab-X7IvNGTl.js.map → tab-qc3f42Yp.js.map} +1 -1
- package/dist/vue3/common/constants.cjs.map +1 -1
- package/dist/vue3/common/constants.js.map +1 -1
- package/dist/vue3/common/dates.cjs +1 -3
- package/dist/vue3/common/dates.cjs.map +1 -1
- package/dist/vue3/common/dates.js +1 -3
- package/dist/vue3/common/dates.js.map +1 -1
- package/dist/vue3/common/emoji.cjs +1 -1
- package/dist/vue3/common/emoji.js +1 -1
- package/dist/vue3/common/mixins.cjs +3 -3
- package/dist/vue3/common/mixins.js +3 -3
- package/dist/vue3/common/utils.cjs +45 -11
- package/dist/vue3/common/utils.cjs.map +1 -1
- package/dist/vue3/common/utils.js +45 -11
- package/dist/vue3/common/utils.js.map +1 -1
- package/dist/vue3/common/validators.cjs.map +1 -1
- package/dist/vue3/common/validators.js.map +1 -1
- package/dist/vue3/component-documentation.json +1 -1
- package/dist/vue3/dialtone-vue.cjs +12 -12
- package/dist/vue3/dialtone-vue.js +12 -12
- package/dist/vue3/lib/attachment-carousel.cjs +108 -87
- package/dist/vue3/lib/attachment-carousel.cjs.map +1 -1
- package/dist/vue3/lib/attachment-carousel.js +108 -87
- package/dist/vue3/lib/attachment-carousel.js.map +1 -1
- package/dist/vue3/lib/avatar.cjs +88 -56
- package/dist/vue3/lib/avatar.cjs.map +1 -1
- package/dist/vue3/lib/avatar.js +88 -56
- package/dist/vue3/lib/avatar.js.map +1 -1
- package/dist/vue3/lib/badge.cjs +31 -15
- package/dist/vue3/lib/badge.cjs.map +1 -1
- package/dist/vue3/lib/badge.js +31 -15
- package/dist/vue3/lib/badge.js.map +1 -1
- package/dist/vue3/lib/banner.cjs +56 -38
- package/dist/vue3/lib/banner.cjs.map +1 -1
- package/dist/vue3/lib/banner.js +56 -38
- package/dist/vue3/lib/banner.js.map +1 -1
- package/dist/vue3/lib/breadcrumbs.cjs +36 -25
- package/dist/vue3/lib/breadcrumbs.cjs.map +1 -1
- package/dist/vue3/lib/breadcrumbs.js +36 -25
- package/dist/vue3/lib/breadcrumbs.js.map +1 -1
- package/dist/vue3/lib/button-group.cjs +7 -2
- package/dist/vue3/lib/button-group.cjs.map +1 -1
- package/dist/vue3/lib/button-group.js +7 -2
- package/dist/vue3/lib/button-group.js.map +1 -1
- package/dist/vue3/lib/button.cjs +69 -44
- package/dist/vue3/lib/button.cjs.map +1 -1
- package/dist/vue3/lib/button.js +69 -44
- package/dist/vue3/lib/button.js.map +1 -1
- package/dist/vue3/lib/callbar-button-with-popover.cjs +81 -68
- package/dist/vue3/lib/callbar-button-with-popover.cjs.map +1 -1
- package/dist/vue3/lib/callbar-button-with-popover.js +81 -68
- package/dist/vue3/lib/callbar-button-with-popover.js.map +1 -1
- package/dist/vue3/lib/callbar-button.cjs +45 -32
- package/dist/vue3/lib/callbar-button.cjs.map +1 -1
- package/dist/vue3/lib/callbar-button.js +45 -32
- package/dist/vue3/lib/callbar-button.js.map +1 -1
- package/dist/vue3/lib/callbox.cjs +57 -38
- package/dist/vue3/lib/callbox.cjs.map +1 -1
- package/dist/vue3/lib/callbox.js +57 -38
- package/dist/vue3/lib/callbox.js.map +1 -1
- package/dist/vue3/lib/card.cjs +33 -13
- package/dist/vue3/lib/card.cjs.map +1 -1
- package/dist/vue3/lib/card.js +33 -13
- package/dist/vue3/lib/card.js.map +1 -1
- package/dist/vue3/lib/checkbox-group.cjs +5 -2
- package/dist/vue3/lib/checkbox-group.cjs.map +1 -1
- package/dist/vue3/lib/checkbox-group.js +5 -2
- package/dist/vue3/lib/checkbox-group.js.map +1 -1
- package/dist/vue3/lib/checkbox.cjs +45 -41
- package/dist/vue3/lib/checkbox.cjs.map +1 -1
- package/dist/vue3/lib/checkbox.js +45 -41
- package/dist/vue3/lib/checkbox.js.map +1 -1
- package/dist/vue3/lib/chip.cjs +53 -38
- package/dist/vue3/lib/chip.cjs.map +1 -1
- package/dist/vue3/lib/chip.js +53 -38
- package/dist/vue3/lib/chip.js.map +1 -1
- package/dist/vue3/lib/codeblock.cjs +6 -4
- package/dist/vue3/lib/codeblock.cjs.map +1 -1
- package/dist/vue3/lib/codeblock.js +6 -4
- package/dist/vue3/lib/codeblock.js.map +1 -1
- package/dist/vue3/lib/collapsible.cjs +76 -62
- package/dist/vue3/lib/collapsible.cjs.map +1 -1
- package/dist/vue3/lib/collapsible.js +76 -62
- package/dist/vue3/lib/collapsible.js.map +1 -1
- package/dist/vue3/lib/combobox-multi-select.cjs +88 -75
- package/dist/vue3/lib/combobox-multi-select.cjs.map +1 -1
- package/dist/vue3/lib/combobox-multi-select.js +88 -75
- package/dist/vue3/lib/combobox-multi-select.js.map +1 -1
- package/dist/vue3/lib/combobox-with-popover.cjs +85 -77
- package/dist/vue3/lib/combobox-with-popover.cjs.map +1 -1
- package/dist/vue3/lib/combobox-with-popover.js +85 -77
- package/dist/vue3/lib/combobox-with-popover.js.map +1 -1
- package/dist/vue3/lib/combobox.cjs +3 -3
- package/dist/vue3/lib/combobox.js +3 -3
- package/dist/vue3/lib/contact-centers-row.cjs +89 -65
- package/dist/vue3/lib/contact-centers-row.cjs.map +1 -1
- package/dist/vue3/lib/contact-centers-row.js +89 -65
- package/dist/vue3/lib/contact-centers-row.js.map +1 -1
- package/dist/vue3/lib/contact-info.cjs +82 -59
- package/dist/vue3/lib/contact-info.cjs.map +1 -1
- package/dist/vue3/lib/contact-info.js +82 -59
- package/dist/vue3/lib/contact-info.js.map +1 -1
- package/dist/vue3/lib/contact-row.cjs +47 -37
- package/dist/vue3/lib/contact-row.cjs.map +1 -1
- package/dist/vue3/lib/contact-row.js +47 -37
- package/dist/vue3/lib/contact-row.js.map +1 -1
- package/dist/vue3/lib/datepicker.cjs +263 -267
- package/dist/vue3/lib/datepicker.cjs.map +1 -1
- package/dist/vue3/lib/datepicker.js +263 -267
- package/dist/vue3/lib/datepicker.js.map +1 -1
- package/dist/vue3/lib/description-list.cjs +14 -9
- package/dist/vue3/lib/description-list.cjs.map +1 -1
- package/dist/vue3/lib/description-list.js +14 -9
- package/dist/vue3/lib/description-list.js.map +1 -1
- package/dist/vue3/lib/dropdown.cjs +6 -6
- package/dist/vue3/lib/dropdown.cjs.map +1 -1
- package/dist/vue3/lib/dropdown.js +6 -6
- package/dist/vue3/lib/dropdown.js.map +1 -1
- package/dist/vue3/lib/editor.cjs +249 -312
- package/dist/vue3/lib/editor.cjs.map +1 -1
- package/dist/vue3/lib/editor.js +249 -312
- package/dist/vue3/lib/editor.js.map +1 -1
- package/dist/vue3/lib/emoji-picker.cjs +419 -387
- package/dist/vue3/lib/emoji-picker.cjs.map +1 -1
- package/dist/vue3/lib/emoji-picker.js +419 -387
- package/dist/vue3/lib/emoji-picker.js.map +1 -1
- package/dist/vue3/lib/emoji-row.cjs +69 -59
- package/dist/vue3/lib/emoji-row.cjs.map +1 -1
- package/dist/vue3/lib/emoji-row.js +69 -59
- package/dist/vue3/lib/emoji-row.js.map +1 -1
- package/dist/vue3/lib/emoji-text-wrapper.cjs +12 -13
- package/dist/vue3/lib/emoji-text-wrapper.cjs.map +1 -1
- package/dist/vue3/lib/emoji-text-wrapper.js +12 -13
- package/dist/vue3/lib/emoji-text-wrapper.js.map +1 -1
- package/dist/vue3/lib/emoji.cjs +23 -19
- package/dist/vue3/lib/emoji.cjs.map +1 -1
- package/dist/vue3/lib/emoji.js +23 -19
- package/dist/vue3/lib/emoji.js.map +1 -1
- package/dist/vue3/lib/empty-state.cjs +30 -20
- package/dist/vue3/lib/empty-state.cjs.map +1 -1
- package/dist/vue3/lib/empty-state.js +30 -20
- package/dist/vue3/lib/empty-state.js.map +1 -1
- package/dist/vue3/lib/feed-item-row.cjs +74 -43
- package/dist/vue3/lib/feed-item-row.cjs.map +1 -1
- package/dist/vue3/lib/feed-item-row.js +74 -43
- package/dist/vue3/lib/feed-item-row.js.map +1 -1
- package/dist/vue3/lib/feed-pill.cjs +55 -45
- package/dist/vue3/lib/feed-pill.cjs.map +1 -1
- package/dist/vue3/lib/feed-pill.js +55 -45
- package/dist/vue3/lib/feed-pill.js.map +1 -1
- package/dist/vue3/lib/general-row.cjs +165 -115
- package/dist/vue3/lib/general-row.cjs.map +1 -1
- package/dist/vue3/lib/general-row.js +165 -115
- package/dist/vue3/lib/general-row.js.map +1 -1
- package/dist/vue3/lib/group-row.cjs +9 -7
- package/dist/vue3/lib/group-row.cjs.map +1 -1
- package/dist/vue3/lib/group-row.js +9 -7
- package/dist/vue3/lib/group-row.js.map +1 -1
- package/dist/vue3/lib/grouped-chip.cjs +48 -27
- package/dist/vue3/lib/grouped-chip.cjs.map +1 -1
- package/dist/vue3/lib/grouped-chip.js +48 -27
- package/dist/vue3/lib/grouped-chip.js.map +1 -1
- package/dist/vue3/lib/hovercard.cjs +33 -25
- package/dist/vue3/lib/hovercard.cjs.map +1 -1
- package/dist/vue3/lib/hovercard.js +33 -25
- package/dist/vue3/lib/hovercard.js.map +1 -1
- package/dist/vue3/lib/icon.cjs +1 -1
- package/dist/vue3/lib/icon.cjs.map +1 -1
- package/dist/vue3/lib/icon.js +1 -1
- package/dist/vue3/lib/icon.js.map +1 -1
- package/dist/vue3/lib/illustration.cjs +1 -2
- package/dist/vue3/lib/illustration.cjs.map +1 -1
- package/dist/vue3/lib/illustration.js +1 -2
- package/dist/vue3/lib/illustration.js.map +1 -1
- package/dist/vue3/lib/image-viewer.cjs +66 -52
- package/dist/vue3/lib/image-viewer.cjs.map +1 -1
- package/dist/vue3/lib/image-viewer.js +66 -52
- package/dist/vue3/lib/image-viewer.js.map +1 -1
- package/dist/vue3/lib/input-group.cjs +19 -15
- package/dist/vue3/lib/input-group.cjs.map +1 -1
- package/dist/vue3/lib/input-group.js +19 -15
- package/dist/vue3/lib/input-group.js.map +1 -1
- package/dist/vue3/lib/input.cjs +114 -77
- package/dist/vue3/lib/input.cjs.map +1 -1
- package/dist/vue3/lib/input.js +114 -77
- package/dist/vue3/lib/input.js.map +1 -1
- package/dist/vue3/lib/item-layout.cjs +27 -10
- package/dist/vue3/lib/item-layout.cjs.map +1 -1
- package/dist/vue3/lib/item-layout.js +27 -10
- package/dist/vue3/lib/item-layout.js.map +1 -1
- package/dist/vue3/lib/ivr-node.cjs +89 -80
- package/dist/vue3/lib/ivr-node.cjs.map +1 -1
- package/dist/vue3/lib/ivr-node.js +89 -80
- package/dist/vue3/lib/ivr-node.js.map +1 -1
- package/dist/vue3/lib/keyboard-shortcut.cjs +31 -26
- package/dist/vue3/lib/keyboard-shortcut.cjs.map +1 -1
- package/dist/vue3/lib/keyboard-shortcut.js +31 -26
- package/dist/vue3/lib/keyboard-shortcut.js.map +1 -1
- package/dist/vue3/lib/lazy-show.cjs +8 -6
- package/dist/vue3/lib/lazy-show.cjs.map +1 -1
- package/dist/vue3/lib/lazy-show.js +8 -6
- package/dist/vue3/lib/lazy-show.js.map +1 -1
- package/dist/vue3/lib/link.cjs +7 -2
- package/dist/vue3/lib/link.cjs.map +1 -1
- package/dist/vue3/lib/link.js +7 -2
- package/dist/vue3/lib/link.js.map +1 -1
- package/dist/vue3/lib/list-item-group.cjs +14 -7
- package/dist/vue3/lib/list-item-group.cjs.map +1 -1
- package/dist/vue3/lib/list-item-group.js +14 -7
- package/dist/vue3/lib/list-item-group.js.map +1 -1
- package/dist/vue3/lib/list-item.cjs +25 -24
- package/dist/vue3/lib/list-item.cjs.map +1 -1
- package/dist/vue3/lib/list-item.js +25 -24
- package/dist/vue3/lib/list-item.js.map +1 -1
- package/dist/vue3/lib/message-input.cjs +264 -227
- package/dist/vue3/lib/message-input.cjs.map +1 -1
- package/dist/vue3/lib/message-input.js +264 -227
- package/dist/vue3/lib/message-input.js.map +1 -1
- package/dist/vue3/lib/modal.cjs +99 -59
- package/dist/vue3/lib/modal.cjs.map +1 -1
- package/dist/vue3/lib/modal.js +99 -59
- package/dist/vue3/lib/modal.js.map +1 -1
- package/dist/vue3/lib/notice.cjs +46 -33
- package/dist/vue3/lib/notice.cjs.map +1 -1
- package/dist/vue3/lib/notice.js +46 -33
- package/dist/vue3/lib/notice.js.map +1 -1
- package/dist/vue3/lib/pagination.cjs +61 -49
- package/dist/vue3/lib/pagination.cjs.map +1 -1
- package/dist/vue3/lib/pagination.js +61 -49
- package/dist/vue3/lib/pagination.js.map +1 -1
- package/dist/vue3/lib/popover.cjs +156 -133
- package/dist/vue3/lib/popover.cjs.map +1 -1
- package/dist/vue3/lib/popover.js +157 -134
- package/dist/vue3/lib/popover.js.map +1 -1
- package/dist/vue3/lib/presence.cjs +17 -9
- package/dist/vue3/lib/presence.cjs.map +1 -1
- package/dist/vue3/lib/presence.js +17 -9
- package/dist/vue3/lib/presence.js.map +1 -1
- package/dist/vue3/lib/radio-group.cjs +1 -1
- package/dist/vue3/lib/radio-group.cjs.map +1 -1
- package/dist/vue3/lib/radio-group.js +1 -1
- package/dist/vue3/lib/radio-group.js.map +1 -1
- package/dist/vue3/lib/radio.cjs +41 -34
- package/dist/vue3/lib/radio.cjs.map +1 -1
- package/dist/vue3/lib/radio.js +41 -34
- package/dist/vue3/lib/radio.js.map +1 -1
- package/dist/vue3/lib/rich-text-editor.cjs +288 -292
- package/dist/vue3/lib/rich-text-editor.cjs.map +1 -1
- package/dist/vue3/lib/rich-text-editor.js +288 -292
- package/dist/vue3/lib/rich-text-editor.js.map +1 -1
- package/dist/vue3/lib/root-layout.cjs +39 -24
- package/dist/vue3/lib/root-layout.cjs.map +1 -1
- package/dist/vue3/lib/root-layout.js +39 -24
- package/dist/vue3/lib/root-layout.js.map +1 -1
- package/dist/vue3/lib/scrollbar-directive.cjs +422 -388
- package/dist/vue3/lib/scrollbar-directive.cjs.map +1 -1
- package/dist/vue3/lib/scrollbar-directive.js +422 -388
- package/dist/vue3/lib/scrollbar-directive.js.map +1 -1
- package/dist/vue3/lib/scroller.cjs +83 -100
- package/dist/vue3/lib/scroller.cjs.map +1 -1
- package/dist/vue3/lib/scroller.js +83 -100
- package/dist/vue3/lib/scroller.js.map +1 -1
- package/dist/vue3/lib/select-menu.cjs +67 -40
- package/dist/vue3/lib/select-menu.cjs.map +1 -1
- package/dist/vue3/lib/select-menu.js +67 -40
- package/dist/vue3/lib/select-menu.js.map +1 -1
- package/dist/vue3/lib/settings-menu-button.cjs +16 -10
- package/dist/vue3/lib/settings-menu-button.cjs.map +1 -1
- package/dist/vue3/lib/settings-menu-button.js +16 -10
- package/dist/vue3/lib/settings-menu-button.js.map +1 -1
- package/dist/vue3/lib/skeleton.cjs +93 -74
- package/dist/vue3/lib/skeleton.cjs.map +1 -1
- package/dist/vue3/lib/skeleton.js +93 -74
- package/dist/vue3/lib/skeleton.js.map +1 -1
- package/dist/vue3/lib/split-button.cjs +74 -68
- package/dist/vue3/lib/split-button.cjs.map +1 -1
- package/dist/vue3/lib/split-button.js +74 -68
- package/dist/vue3/lib/split-button.js.map +1 -1
- package/dist/vue3/lib/stack.cjs +26 -18
- package/dist/vue3/lib/stack.cjs.map +1 -1
- package/dist/vue3/lib/stack.js +26 -18
- package/dist/vue3/lib/stack.js.map +1 -1
- package/dist/vue3/lib/tabs.cjs +7 -3
- package/dist/vue3/lib/tabs.cjs.map +1 -1
- package/dist/vue3/lib/tabs.js +7 -3
- package/dist/vue3/lib/tabs.js.map +1 -1
- package/dist/vue3/lib/time-pill.cjs.map +1 -1
- package/dist/vue3/lib/time-pill.js.map +1 -1
- package/dist/vue3/lib/toast.cjs +51 -35
- package/dist/vue3/lib/toast.cjs.map +1 -1
- package/dist/vue3/lib/toast.js +51 -35
- package/dist/vue3/lib/toast.js.map +1 -1
- package/dist/vue3/lib/toggle.cjs +34 -24
- package/dist/vue3/lib/toggle.cjs.map +1 -1
- package/dist/vue3/lib/toggle.js +34 -24
- package/dist/vue3/lib/toggle.js.map +1 -1
- package/dist/vue3/lib/tooltip-directive.cjs +19 -26
- package/dist/vue3/lib/tooltip-directive.cjs.map +1 -1
- package/dist/vue3/lib/tooltip-directive.js +19 -26
- package/dist/vue3/lib/tooltip-directive.js.map +1 -1
- package/dist/vue3/lib/tooltip.cjs +32 -21
- package/dist/vue3/lib/tooltip.cjs.map +1 -1
- package/dist/vue3/lib/tooltip.js +33 -22
- package/dist/vue3/lib/tooltip.js.map +1 -1
- package/dist/vue3/lib/top-banner-info.cjs +23 -8
- package/dist/vue3/lib/top-banner-info.cjs.map +1 -1
- package/dist/vue3/lib/top-banner-info.js +23 -8
- package/dist/vue3/lib/top-banner-info.js.map +1 -1
- package/dist/vue3/lib/unread-pill.cjs +11 -8
- package/dist/vue3/lib/unread-pill.cjs.map +1 -1
- package/dist/vue3/lib/unread-pill.js +11 -8
- package/dist/vue3/lib/unread-pill.js.map +1 -1
- package/dist/vue3/lib/validation-messages.cjs +17 -14
- package/dist/vue3/lib/validation-messages.cjs.map +1 -1
- package/dist/vue3/lib/validation-messages.js +17 -14
- package/dist/vue3/lib/validation-messages.js.map +1 -1
- package/dist/vue3/style.css +9 -9
- package/dist/vue3/types/components/button/button.vue.d.ts +1 -1
- package/dist/vue3/types/components/chip/chip.vue.d.ts +1 -1
- package/dist/vue3/types/components/combobox/combobox.vue.d.ts +1 -1
- package/dist/vue3/types/components/datepicker/modules/month-year-picker.vue.d.ts +1 -1
- package/dist/vue3/types/components/icon/icon.vue.d.ts +2 -2
- package/dist/vue3/types/components/icon/icon_constants.d.ts +1 -1
- package/dist/vue3/types/components/icon/icon_constants.d.ts.map +1 -1
- package/dist/vue3/types/components/illustration/illustration_constants.d.ts +1 -1
- package/dist/vue3/types/components/illustration/illustration_constants.d.ts.map +1 -1
- package/dist/vue3/types/components/input/input.vue.d.ts +3 -2
- package/dist/vue3/types/components/input/input.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/modal/modal.vue.d.ts +1 -1
- package/dist/vue3/types/components/notice/notice.vue.d.ts +1 -1
- package/dist/vue3/types/components/radio/radio.vue.d.ts +1 -1
- package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
- package/dist/vue3/types/components/scroller/modules/scroller_item.vue.d.ts +1 -1
- package/dist/vue3/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
- package/dist/vue3/types/components/tabs/tab.vue.d.ts +1 -1
- package/dist/vue3/types/components/toast/toast.vue.d.ts +2 -2
- package/dist/vue3/types/components/tooltip/tooltip.vue.d.ts +1 -1
- package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
- package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
- package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
- package/dist/vue3/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +15 -0
- package/dist/vue3/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
- package/package.json +3 -2
- package/dist/vue2/chunks/icon_constants-TdxqLsS2.js.map +0 -1
- package/dist/vue2/chunks/icon_constants-VEA0wI5C.js.map +0 -1
- package/dist/vue3/chunks/icon_constants-bvhFNOPu.js.map +0 -1
- package/dist/vue3/chunks/icon_constants-gIQj4mf7.js.map +0 -1
|
@@ -111,7 +111,10 @@ const InputMixin = {
|
|
|
111
111
|
*/
|
|
112
112
|
validateInputLabels(hasLabelOrLabel, ariaLabel) {
|
|
113
113
|
if (!hasLabelOrLabel && !ariaLabel) {
|
|
114
|
-
warn(
|
|
114
|
+
warn(
|
|
115
|
+
"You must provide an aria-label when there is no label passed",
|
|
116
|
+
this
|
|
117
|
+
);
|
|
115
118
|
}
|
|
116
119
|
}
|
|
117
120
|
}
|
|
@@ -236,7 +239,10 @@ const GroupableMixin = {
|
|
|
236
239
|
const hasGroupName = Object.prototype.hasOwnProperty.call(this.groupContext, "name");
|
|
237
240
|
const reactiveGroupName = (_a = this.groupContext) == null ? void 0 : _a.name;
|
|
238
241
|
if (!!this.name && hasGroupName && reactiveGroupName !== this.name) {
|
|
239
|
-
warn(
|
|
242
|
+
warn(
|
|
243
|
+
`Component is being used inside a Group. Did you mean to override the name prop value (${reactiveGroupName}) with (${this.name})? It is recommended to only set name at the Group level.`,
|
|
244
|
+
this
|
|
245
|
+
);
|
|
240
246
|
}
|
|
241
247
|
}
|
|
242
248
|
};
|
|
@@ -287,4 +293,4 @@ export {
|
|
|
287
293
|
InputMixin,
|
|
288
294
|
MessagesMixin
|
|
289
295
|
};
|
|
290
|
-
//# sourceMappingURL=input-
|
|
296
|
+
//# sourceMappingURL=input-NmYDD5bn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-HIysg24t.js","sources":["../../common/mixins/input.js"],"sourcesContent":["import { warn } from 'vue';\nimport { VALIDATION_MESSAGE_TYPES } from '@/common/constants';\nimport { validationMessageValidator } from '@/common/validators';\nimport { formatMessages } from '@/common/utils';\n\n/**\n * This mixin provides a base set of props, watchers and data attributes that are commonly used in our input components.\n * @displayName Input Mixin\n */\nexport const InputMixin = {\n inheritAttrs: false,\n\n props: {\n /**\n * A provided label for the input\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The name of the input\n */\n name: {\n type: String,\n default: '',\n },\n\n /**\n * The value of the input\n * @model value\n */\n value: {\n type: [String, Number, Boolean, Object],\n default: null,\n },\n\n /**\n * Describes the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Disables the input\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The validation state of the input\n */\n validationState: {\n type: String,\n default: '',\n validator: validationState => {\n if (!validationState) {\n return true;\n }\n\n return Object.values(VALIDATION_MESSAGE_TYPES).includes(validationState);\n },\n },\n\n /**\n * Used to customize the input element\n */\n inputClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the description container\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the label container\n */\n labelChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into the description container\n */\n descriptionChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n data () {\n return {\n internalDisabled: this.disabled,\n internalValidationState: this.validationState,\n };\n },\n\n watch: {\n disabled (newDisabled) {\n // update internal disabled when the prop changes\n this.internalDisabled = newDisabled;\n },\n\n validationState (newValidationState) {\n // update internal validation state when the prop changes\n this.internalValidationState = newValidationState;\n },\n },\n\n methods: {\n /**\n * @param {Boolean | String} hasLabelOrLabel either a boolean indicating the label exists or the label itself\n * @param {String} ariaLabel the aria-label passed (null/undefined if it's not passed)\n */\n validateInputLabels (hasLabelOrLabel, ariaLabel) {\n if (!hasLabelOrLabel && !ariaLabel) {\n warn(\n 'You must provide an aria-label when there is no label passed',\n this,\n );\n }\n },\n },\n};\n\n/**\n * This mixin provides common logic shared amongst our checkable inputs.\n *\n * This includes the group context, checked model & prop, internal data attributes as well as a set common computed\n * properties and watchers. It also includes the group name warning logic.\n * @displayName Checkable Mixin\n */\nexport const CheckableMixin = {\n model: {\n prop: 'checked',\n },\n\n props: {\n /**\n * Used to set the state of the checkable input\n * @model checked\n */\n checked: {\n type: Boolean,\n default: false,\n },\n /**\n * Indeterminate State, toggling indeterminate checkbox will uncheck\n */\n indeterminate: {\n type: Boolean,\n default: false,\n },\n /**\n * The value of the input\n */\n value: {\n type: [String, Number, Boolean],\n default: null,\n },\n },\n\n data () {\n return {\n internalChecked: this.checked,\n internalIndeterminate: this.indeterminate,\n };\n },\n\n watch: {\n checked (newChecked) {\n // update internal checked when the prop changes\n this.internalChecked = newChecked;\n },\n\n indeterminate (newValue) {\n this.internalIndeterminate = newValue;\n },\n },\n};\n\n/**\n * This mixin provides common logic shared amongst our groupable inputs.\n *\n * This includes the group context and internal data attributes as well as a set common computed\n * properties and watchers. It also includes the group name warning logic.\n * @displayName Groupable Mixin\n */\nexport const GroupableMixin = {\n inject: {\n // Object used to pass data from the group\n groupContext: {\n default: {},\n },\n\n // Method used to update the group value\n setGroupValue: {\n default: () => { return () => {}; },\n },\n },\n\n data () {\n return {\n internalValue: this.value,\n };\n },\n\n computed: {\n hasGroup () {\n return Object.prototype.hasOwnProperty.call(this.groupContext, 'name');\n },\n\n groupName () {\n return this.groupContext?.name ?? '';\n },\n\n groupValue () {\n return this.groupContext?.value;\n },\n\n groupDisabled () {\n return this.groupContext?.disabled ?? false;\n },\n\n groupValidationState () {\n return this.groupContext?.validationState ?? null;\n },\n\n internalName () {\n return this.name || this.groupName;\n },\n },\n\n watch: {\n value (newValue) {\n // update internal value when the prop changes\n this.internalValue = newValue;\n },\n\n groupValue: {\n immediate: true,\n handler (newGroupValue) {\n if (this.hasGroup) {\n // update internal value when the group disabled changes\n this.internalValue = newGroupValue;\n }\n },\n },\n\n groupDisabled: {\n immediate: true,\n handler (newGroupDisabled) {\n if (this.hasGroup) {\n // update internal disabled when the group disabled changes\n this.internalDisabled = this.disabled || newGroupDisabled;\n }\n },\n },\n\n groupValidationState: {\n immediate: true,\n handler (newGroupValidationState) {\n if (this.hasGroup) {\n // update internal validation state when the group validation state changes\n this.internalValidationState = newGroupValidationState || this.validationState;\n }\n },\n },\n },\n\n created () {\n const hasGroupName = Object.prototype.hasOwnProperty.call(this.groupContext, 'name');\n const reactiveGroupName = this.groupContext?.name;\n\n if (!!this.name && hasGroupName && reactiveGroupName !== this.name) {\n warn(\n 'Component is being used inside a Group. Did you mean to override the name prop value ' +\n `(${reactiveGroupName}) with (${this.name})? It is recommended to only set name at the Group level.`,\n this,\n );\n }\n },\n};\n\n/**\n * This mixin provides common logic shared amongst our validation messages inputs.\n * @displayName Messages Mixin\n */\nexport const MessagesMixin = {\n props: {\n /**\n * Used to customize the validation messages component\n */\n messagesClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the validation messages component\n */\n messagesChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Used to hide / show the validation messages\n * @values true, false\n */\n showMessages: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Validation messages\n */\n messages: {\n type: Array,\n default: () => [],\n validator: messages => {\n return validationMessageValidator(messages);\n },\n },\n },\n\n computed: {\n formattedMessages () {\n return formatMessages(this.messages);\n },\n },\n};\n\nexport default {\n InputMixin,\n CheckableMixin,\n GroupableMixin,\n MessagesMixin,\n};\n"],"names":["InputMixin","inheritAttrs","props","label","type","String","default","name","value","Number","Boolean","Object","description","disabled","validationState","validator","values","VALIDATION_MESSAGE_TYPES","includes","inputClass","Array","labelClass","descriptionClass","labelChildProps","descriptionChildProps","data","internalDisabled","internalValidationState","watch","newDisabled","newValidationState","methods","validateInputLabels","hasLabelOrLabel","ariaLabel","warn","CheckableMixin","model","prop","checked","indeterminate","internalChecked","internalIndeterminate","newChecked","newValue","GroupableMixin","inject","groupContext","setGroupValue","internalValue","computed","hasGroup","prototype","hasOwnProperty","call","groupName","groupValue","groupDisabled","groupValidationState","internalName","immediate","handler","newGroupValue","newGroupDisabled","newGroupValidationState","created","hasGroupName","reactiveGroupName","MessagesMixin","messagesClass","messagesChildProps","showMessages","messages","validationMessageValidator","formattedMessages","formatMessages"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"input-NmYDD5bn.js","sources":["../../common/mixins/input.js"],"sourcesContent":["import { warn } from 'vue';\nimport { VALIDATION_MESSAGE_TYPES } from '@/common/constants';\nimport { validationMessageValidator } from '@/common/validators';\nimport { formatMessages } from '@/common/utils';\n\n/**\n * This mixin provides a base set of props, watchers and data attributes that are commonly used in our input components.\n * @displayName Input Mixin\n */\nexport const InputMixin = {\n inheritAttrs: false,\n\n props: {\n /**\n * A provided label for the input\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The name of the input\n */\n name: {\n type: String,\n default: '',\n },\n\n /**\n * The value of the input\n * @model value\n */\n value: {\n type: [String, Number, Boolean, Object],\n default: null,\n },\n\n /**\n * Describes the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Disables the input\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The validation state of the input\n */\n validationState: {\n type: String,\n default: '',\n validator: validationState => {\n if (!validationState) {\n return true;\n }\n\n return Object.values(VALIDATION_MESSAGE_TYPES).includes(validationState);\n },\n },\n\n /**\n * Used to customize the input element\n */\n inputClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the description container\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the label container\n */\n labelChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into the description container\n */\n descriptionChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n data () {\n return {\n internalDisabled: this.disabled,\n internalValidationState: this.validationState,\n };\n },\n\n watch: {\n disabled (newDisabled) {\n // update internal disabled when the prop changes\n this.internalDisabled = newDisabled;\n },\n\n validationState (newValidationState) {\n // update internal validation state when the prop changes\n this.internalValidationState = newValidationState;\n },\n },\n\n methods: {\n /**\n * @param {Boolean | String} hasLabelOrLabel either a boolean indicating the label exists or the label itself\n * @param {String} ariaLabel the aria-label passed (null/undefined if it's not passed)\n */\n validateInputLabels (hasLabelOrLabel, ariaLabel) {\n if (!hasLabelOrLabel && !ariaLabel) {\n warn(\n 'You must provide an aria-label when there is no label passed',\n this,\n );\n }\n },\n },\n};\n\n/**\n * This mixin provides common logic shared amongst our checkable inputs.\n *\n * This includes the group context, checked model & prop, internal data attributes as well as a set common computed\n * properties and watchers. It also includes the group name warning logic.\n * @displayName Checkable Mixin\n */\nexport const CheckableMixin = {\n model: {\n prop: 'checked',\n },\n\n props: {\n /**\n * Used to set the state of the checkable input\n * @model checked\n */\n checked: {\n type: Boolean,\n default: false,\n },\n /**\n * Indeterminate State, toggling indeterminate checkbox will uncheck\n */\n indeterminate: {\n type: Boolean,\n default: false,\n },\n /**\n * The value of the input\n */\n value: {\n type: [String, Number, Boolean],\n default: null,\n },\n },\n\n data () {\n return {\n internalChecked: this.checked,\n internalIndeterminate: this.indeterminate,\n };\n },\n\n watch: {\n checked (newChecked) {\n // update internal checked when the prop changes\n this.internalChecked = newChecked;\n },\n\n indeterminate (newValue) {\n this.internalIndeterminate = newValue;\n },\n },\n};\n\n/**\n * This mixin provides common logic shared amongst our groupable inputs.\n *\n * This includes the group context and internal data attributes as well as a set common computed\n * properties and watchers. It also includes the group name warning logic.\n * @displayName Groupable Mixin\n */\nexport const GroupableMixin = {\n inject: {\n // Object used to pass data from the group\n groupContext: {\n default: {},\n },\n\n // Method used to update the group value\n setGroupValue: {\n default: () => { return () => {}; },\n },\n },\n\n data () {\n return {\n internalValue: this.value,\n };\n },\n\n computed: {\n hasGroup () {\n return Object.prototype.hasOwnProperty.call(this.groupContext, 'name');\n },\n\n groupName () {\n return this.groupContext?.name ?? '';\n },\n\n groupValue () {\n return this.groupContext?.value;\n },\n\n groupDisabled () {\n return this.groupContext?.disabled ?? false;\n },\n\n groupValidationState () {\n return this.groupContext?.validationState ?? null;\n },\n\n internalName () {\n return this.name || this.groupName;\n },\n },\n\n watch: {\n value (newValue) {\n // update internal value when the prop changes\n this.internalValue = newValue;\n },\n\n groupValue: {\n immediate: true,\n handler (newGroupValue) {\n if (this.hasGroup) {\n // update internal value when the group disabled changes\n this.internalValue = newGroupValue;\n }\n },\n },\n\n groupDisabled: {\n immediate: true,\n handler (newGroupDisabled) {\n if (this.hasGroup) {\n // update internal disabled when the group disabled changes\n this.internalDisabled = this.disabled || newGroupDisabled;\n }\n },\n },\n\n groupValidationState: {\n immediate: true,\n handler (newGroupValidationState) {\n if (this.hasGroup) {\n // update internal validation state when the group validation state changes\n this.internalValidationState = newGroupValidationState || this.validationState;\n }\n },\n },\n },\n\n created () {\n const hasGroupName = Object.prototype.hasOwnProperty.call(this.groupContext, 'name');\n const reactiveGroupName = this.groupContext?.name;\n\n if (!!this.name && hasGroupName && reactiveGroupName !== this.name) {\n warn(\n 'Component is being used inside a Group. Did you mean to override the name prop value ' +\n `(${reactiveGroupName}) with (${this.name})? It is recommended to only set name at the Group level.`,\n this,\n );\n }\n },\n};\n\n/**\n * This mixin provides common logic shared amongst our validation messages inputs.\n * @displayName Messages Mixin\n */\nexport const MessagesMixin = {\n props: {\n /**\n * Used to customize the validation messages component\n */\n messagesClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the validation messages component\n */\n messagesChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Used to hide / show the validation messages\n * @values true, false\n */\n showMessages: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Validation messages\n */\n messages: {\n type: Array,\n default: () => [],\n validator: messages => {\n return validationMessageValidator(messages);\n },\n },\n },\n\n computed: {\n formattedMessages () {\n return formatMessages(this.messages);\n },\n },\n};\n\nexport default {\n InputMixin,\n CheckableMixin,\n GroupableMixin,\n MessagesMixin,\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -112,7 +112,10 @@ const InputMixin = {
|
|
|
112
112
|
*/
|
|
113
113
|
validateInputLabels(hasLabelOrLabel, ariaLabel) {
|
|
114
114
|
if (!hasLabelOrLabel && !ariaLabel) {
|
|
115
|
-
vue.warn(
|
|
115
|
+
vue.warn(
|
|
116
|
+
"You must provide an aria-label when there is no label passed",
|
|
117
|
+
this
|
|
118
|
+
);
|
|
116
119
|
}
|
|
117
120
|
}
|
|
118
121
|
}
|
|
@@ -237,7 +240,10 @@ const GroupableMixin = {
|
|
|
237
240
|
const hasGroupName = Object.prototype.hasOwnProperty.call(this.groupContext, "name");
|
|
238
241
|
const reactiveGroupName = (_a = this.groupContext) == null ? void 0 : _a.name;
|
|
239
242
|
if (!!this.name && hasGroupName && reactiveGroupName !== this.name) {
|
|
240
|
-
vue.warn(
|
|
243
|
+
vue.warn(
|
|
244
|
+
`Component is being used inside a Group. Did you mean to override the name prop value (${reactiveGroupName}) with (${this.name})? It is recommended to only set name at the Group level.`,
|
|
245
|
+
this
|
|
246
|
+
);
|
|
241
247
|
}
|
|
242
248
|
}
|
|
243
249
|
};
|
|
@@ -286,4 +292,4 @@ exports.CheckableMixin = CheckableMixin;
|
|
|
286
292
|
exports.GroupableMixin = GroupableMixin;
|
|
287
293
|
exports.InputMixin = InputMixin;
|
|
288
294
|
exports.MessagesMixin = MessagesMixin;
|
|
289
|
-
//# sourceMappingURL=input-
|
|
295
|
+
//# sourceMappingURL=input-ttnte8zB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-dLLo3Wtg.js","sources":["../../common/mixins/input.js"],"sourcesContent":["import { warn } from 'vue';\nimport { VALIDATION_MESSAGE_TYPES } from '@/common/constants';\nimport { validationMessageValidator } from '@/common/validators';\nimport { formatMessages } from '@/common/utils';\n\n/**\n * This mixin provides a base set of props, watchers and data attributes that are commonly used in our input components.\n * @displayName Input Mixin\n */\nexport const InputMixin = {\n inheritAttrs: false,\n\n props: {\n /**\n * A provided label for the input\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The name of the input\n */\n name: {\n type: String,\n default: '',\n },\n\n /**\n * The value of the input\n * @model value\n */\n value: {\n type: [String, Number, Boolean, Object],\n default: null,\n },\n\n /**\n * Describes the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Disables the input\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The validation state of the input\n */\n validationState: {\n type: String,\n default: '',\n validator: validationState => {\n if (!validationState) {\n return true;\n }\n\n return Object.values(VALIDATION_MESSAGE_TYPES).includes(validationState);\n },\n },\n\n /**\n * Used to customize the input element\n */\n inputClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the description container\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the label container\n */\n labelChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into the description container\n */\n descriptionChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n data () {\n return {\n internalDisabled: this.disabled,\n internalValidationState: this.validationState,\n };\n },\n\n watch: {\n disabled (newDisabled) {\n // update internal disabled when the prop changes\n this.internalDisabled = newDisabled;\n },\n\n validationState (newValidationState) {\n // update internal validation state when the prop changes\n this.internalValidationState = newValidationState;\n },\n },\n\n methods: {\n /**\n * @param {Boolean | String} hasLabelOrLabel either a boolean indicating the label exists or the label itself\n * @param {String} ariaLabel the aria-label passed (null/undefined if it's not passed)\n */\n validateInputLabels (hasLabelOrLabel, ariaLabel) {\n if (!hasLabelOrLabel && !ariaLabel) {\n warn(\n 'You must provide an aria-label when there is no label passed',\n this,\n );\n }\n },\n },\n};\n\n/**\n * This mixin provides common logic shared amongst our checkable inputs.\n *\n * This includes the group context, checked model & prop, internal data attributes as well as a set common computed\n * properties and watchers. It also includes the group name warning logic.\n * @displayName Checkable Mixin\n */\nexport const CheckableMixin = {\n model: {\n prop: 'checked',\n },\n\n props: {\n /**\n * Used to set the state of the checkable input\n * @model checked\n */\n checked: {\n type: Boolean,\n default: false,\n },\n /**\n * Indeterminate State, toggling indeterminate checkbox will uncheck\n */\n indeterminate: {\n type: Boolean,\n default: false,\n },\n /**\n * The value of the input\n */\n value: {\n type: [String, Number, Boolean],\n default: null,\n },\n },\n\n data () {\n return {\n internalChecked: this.checked,\n internalIndeterminate: this.indeterminate,\n };\n },\n\n watch: {\n checked (newChecked) {\n // update internal checked when the prop changes\n this.internalChecked = newChecked;\n },\n\n indeterminate (newValue) {\n this.internalIndeterminate = newValue;\n },\n },\n};\n\n/**\n * This mixin provides common logic shared amongst our groupable inputs.\n *\n * This includes the group context and internal data attributes as well as a set common computed\n * properties and watchers. It also includes the group name warning logic.\n * @displayName Groupable Mixin\n */\nexport const GroupableMixin = {\n inject: {\n // Object used to pass data from the group\n groupContext: {\n default: {},\n },\n\n // Method used to update the group value\n setGroupValue: {\n default: () => { return () => {}; },\n },\n },\n\n data () {\n return {\n internalValue: this.value,\n };\n },\n\n computed: {\n hasGroup () {\n return Object.prototype.hasOwnProperty.call(this.groupContext, 'name');\n },\n\n groupName () {\n return this.groupContext?.name ?? '';\n },\n\n groupValue () {\n return this.groupContext?.value;\n },\n\n groupDisabled () {\n return this.groupContext?.disabled ?? false;\n },\n\n groupValidationState () {\n return this.groupContext?.validationState ?? null;\n },\n\n internalName () {\n return this.name || this.groupName;\n },\n },\n\n watch: {\n value (newValue) {\n // update internal value when the prop changes\n this.internalValue = newValue;\n },\n\n groupValue: {\n immediate: true,\n handler (newGroupValue) {\n if (this.hasGroup) {\n // update internal value when the group disabled changes\n this.internalValue = newGroupValue;\n }\n },\n },\n\n groupDisabled: {\n immediate: true,\n handler (newGroupDisabled) {\n if (this.hasGroup) {\n // update internal disabled when the group disabled changes\n this.internalDisabled = this.disabled || newGroupDisabled;\n }\n },\n },\n\n groupValidationState: {\n immediate: true,\n handler (newGroupValidationState) {\n if (this.hasGroup) {\n // update internal validation state when the group validation state changes\n this.internalValidationState = newGroupValidationState || this.validationState;\n }\n },\n },\n },\n\n created () {\n const hasGroupName = Object.prototype.hasOwnProperty.call(this.groupContext, 'name');\n const reactiveGroupName = this.groupContext?.name;\n\n if (!!this.name && hasGroupName && reactiveGroupName !== this.name) {\n warn(\n 'Component is being used inside a Group. Did you mean to override the name prop value ' +\n `(${reactiveGroupName}) with (${this.name})? It is recommended to only set name at the Group level.`,\n this,\n );\n }\n },\n};\n\n/**\n * This mixin provides common logic shared amongst our validation messages inputs.\n * @displayName Messages Mixin\n */\nexport const MessagesMixin = {\n props: {\n /**\n * Used to customize the validation messages component\n */\n messagesClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the validation messages component\n */\n messagesChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Used to hide / show the validation messages\n * @values true, false\n */\n showMessages: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Validation messages\n */\n messages: {\n type: Array,\n default: () => [],\n validator: messages => {\n return validationMessageValidator(messages);\n },\n },\n },\n\n computed: {\n formattedMessages () {\n return formatMessages(this.messages);\n },\n },\n};\n\nexport default {\n InputMixin,\n CheckableMixin,\n GroupableMixin,\n MessagesMixin,\n};\n"],"names":["InputMixin","inheritAttrs","props","label","type","String","default","name","value","Number","Boolean","Object","description","disabled","validationState","validator","values","VALIDATION_MESSAGE_TYPES","includes","inputClass","Array","labelClass","descriptionClass","labelChildProps","descriptionChildProps","data","internalDisabled","internalValidationState","watch","newDisabled","newValidationState","methods","validateInputLabels","hasLabelOrLabel","ariaLabel","warn","CheckableMixin","model","prop","checked","indeterminate","internalChecked","internalIndeterminate","newChecked","newValue","GroupableMixin","inject","groupContext","setGroupValue","internalValue","computed","hasGroup","prototype","hasOwnProperty","call","groupName","groupValue","groupDisabled","groupValidationState","internalName","immediate","handler","newGroupValue","newGroupDisabled","newGroupValidationState","created","hasGroupName","reactiveGroupName","MessagesMixin","messagesClass","messagesChildProps","showMessages","messages","validationMessageValidator","formattedMessages","formatMessages"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"input-ttnte8zB.js","sources":["../../common/mixins/input.js"],"sourcesContent":["import { warn } from 'vue';\nimport { VALIDATION_MESSAGE_TYPES } from '@/common/constants';\nimport { validationMessageValidator } from '@/common/validators';\nimport { formatMessages } from '@/common/utils';\n\n/**\n * This mixin provides a base set of props, watchers and data attributes that are commonly used in our input components.\n * @displayName Input Mixin\n */\nexport const InputMixin = {\n inheritAttrs: false,\n\n props: {\n /**\n * A provided label for the input\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * The name of the input\n */\n name: {\n type: String,\n default: '',\n },\n\n /**\n * The value of the input\n * @model value\n */\n value: {\n type: [String, Number, Boolean, Object],\n default: null,\n },\n\n /**\n * Describes the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Disables the input\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The validation state of the input\n */\n validationState: {\n type: String,\n default: '',\n validator: validationState => {\n if (!validationState) {\n return true;\n }\n\n return Object.values(VALIDATION_MESSAGE_TYPES).includes(validationState);\n },\n },\n\n /**\n * Used to customize the input element\n */\n inputClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the description container\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the label container\n */\n labelChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into the description container\n */\n descriptionChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n data () {\n return {\n internalDisabled: this.disabled,\n internalValidationState: this.validationState,\n };\n },\n\n watch: {\n disabled (newDisabled) {\n // update internal disabled when the prop changes\n this.internalDisabled = newDisabled;\n },\n\n validationState (newValidationState) {\n // update internal validation state when the prop changes\n this.internalValidationState = newValidationState;\n },\n },\n\n methods: {\n /**\n * @param {Boolean | String} hasLabelOrLabel either a boolean indicating the label exists or the label itself\n * @param {String} ariaLabel the aria-label passed (null/undefined if it's not passed)\n */\n validateInputLabels (hasLabelOrLabel, ariaLabel) {\n if (!hasLabelOrLabel && !ariaLabel) {\n warn(\n 'You must provide an aria-label when there is no label passed',\n this,\n );\n }\n },\n },\n};\n\n/**\n * This mixin provides common logic shared amongst our checkable inputs.\n *\n * This includes the group context, checked model & prop, internal data attributes as well as a set common computed\n * properties and watchers. It also includes the group name warning logic.\n * @displayName Checkable Mixin\n */\nexport const CheckableMixin = {\n model: {\n prop: 'checked',\n },\n\n props: {\n /**\n * Used to set the state of the checkable input\n * @model checked\n */\n checked: {\n type: Boolean,\n default: false,\n },\n /**\n * Indeterminate State, toggling indeterminate checkbox will uncheck\n */\n indeterminate: {\n type: Boolean,\n default: false,\n },\n /**\n * The value of the input\n */\n value: {\n type: [String, Number, Boolean],\n default: null,\n },\n },\n\n data () {\n return {\n internalChecked: this.checked,\n internalIndeterminate: this.indeterminate,\n };\n },\n\n watch: {\n checked (newChecked) {\n // update internal checked when the prop changes\n this.internalChecked = newChecked;\n },\n\n indeterminate (newValue) {\n this.internalIndeterminate = newValue;\n },\n },\n};\n\n/**\n * This mixin provides common logic shared amongst our groupable inputs.\n *\n * This includes the group context and internal data attributes as well as a set common computed\n * properties and watchers. It also includes the group name warning logic.\n * @displayName Groupable Mixin\n */\nexport const GroupableMixin = {\n inject: {\n // Object used to pass data from the group\n groupContext: {\n default: {},\n },\n\n // Method used to update the group value\n setGroupValue: {\n default: () => { return () => {}; },\n },\n },\n\n data () {\n return {\n internalValue: this.value,\n };\n },\n\n computed: {\n hasGroup () {\n return Object.prototype.hasOwnProperty.call(this.groupContext, 'name');\n },\n\n groupName () {\n return this.groupContext?.name ?? '';\n },\n\n groupValue () {\n return this.groupContext?.value;\n },\n\n groupDisabled () {\n return this.groupContext?.disabled ?? false;\n },\n\n groupValidationState () {\n return this.groupContext?.validationState ?? null;\n },\n\n internalName () {\n return this.name || this.groupName;\n },\n },\n\n watch: {\n value (newValue) {\n // update internal value when the prop changes\n this.internalValue = newValue;\n },\n\n groupValue: {\n immediate: true,\n handler (newGroupValue) {\n if (this.hasGroup) {\n // update internal value when the group disabled changes\n this.internalValue = newGroupValue;\n }\n },\n },\n\n groupDisabled: {\n immediate: true,\n handler (newGroupDisabled) {\n if (this.hasGroup) {\n // update internal disabled when the group disabled changes\n this.internalDisabled = this.disabled || newGroupDisabled;\n }\n },\n },\n\n groupValidationState: {\n immediate: true,\n handler (newGroupValidationState) {\n if (this.hasGroup) {\n // update internal validation state when the group validation state changes\n this.internalValidationState = newGroupValidationState || this.validationState;\n }\n },\n },\n },\n\n created () {\n const hasGroupName = Object.prototype.hasOwnProperty.call(this.groupContext, 'name');\n const reactiveGroupName = this.groupContext?.name;\n\n if (!!this.name && hasGroupName && reactiveGroupName !== this.name) {\n warn(\n 'Component is being used inside a Group. Did you mean to override the name prop value ' +\n `(${reactiveGroupName}) with (${this.name})? It is recommended to only set name at the Group level.`,\n this,\n );\n }\n },\n};\n\n/**\n * This mixin provides common logic shared amongst our validation messages inputs.\n * @displayName Messages Mixin\n */\nexport const MessagesMixin = {\n props: {\n /**\n * Used to customize the validation messages component\n */\n messagesClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the validation messages component\n */\n messagesChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Used to hide / show the validation messages\n * @values true, false\n */\n showMessages: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Validation messages\n */\n messages: {\n type: Array,\n default: () => [],\n validator: messages => {\n return validationMessageValidator(messages);\n },\n },\n },\n\n computed: {\n formattedMessages () {\n return formatMessages(this.messages);\n },\n },\n};\n\nexport default {\n InputMixin,\n CheckableMixin,\n GroupableMixin,\n MessagesMixin,\n};\n"],"names":["VALIDATION_MESSAGE_TYPES","warn","validationMessageValidator","formatMessages"],"mappings":";;;;;AASY,MAAC,aAAa;AAAA,EACxB,cAAc;AAAA,EAEd,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ,QAAQ,SAAS,MAAM;AAAA,MACtC,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,qBAAmB;AAC5B,YAAI,CAAC,iBAAiB;AACpB,iBAAO;AAAA,QACR;AAED,eAAO,OAAO,OAAOA,iBAAAA,wBAAwB,EAAE,SAAS,eAAe;AAAA,MACxE;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKD,YAAY;AAAA,MACV,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,YAAY;AAAA,MACV,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,kBAAkB;AAAA,MAChB,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IACjB;AAAA;AAAA;AAAA;AAAA,IAKD,uBAAuB;AAAA,MACrB,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IACjB;AAAA,EACF;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL,kBAAkB,KAAK;AAAA,MACvB,yBAAyB,KAAK;AAAA,IACpC;AAAA,EACG;AAAA,EAED,OAAO;AAAA,IACL,SAAU,aAAa;AAErB,WAAK,mBAAmB;AAAA,IACzB;AAAA,IAED,gBAAiB,oBAAoB;AAEnC,WAAK,0BAA0B;AAAA,IAChC;AAAA,EACF;AAAA,EAED,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,oBAAqB,iBAAiB,WAAW;AAC/C,UAAI,CAAC,mBAAmB,CAAC,WAAW;AAClCC,YAAI;AAAA,UACF;AAAA,UACA;AAAA,QACV;AAAA,MACO;AAAA,IACF;AAAA,EACF;AACH;AASY,MAAC,iBAAiB;AAAA,EAC5B,OAAO;AAAA,IACL,MAAM;AAAA,EACP;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAID,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAID,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ,QAAQ,OAAO;AAAA,MAC9B,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL,iBAAiB,KAAK;AAAA,MACtB,uBAAuB,KAAK;AAAA,IAClC;AAAA,EACG;AAAA,EAED,OAAO;AAAA,IACL,QAAS,YAAY;AAEnB,WAAK,kBAAkB;AAAA,IACxB;AAAA,IAED,cAAe,UAAU;AACvB,WAAK,wBAAwB;AAAA,IAC9B;AAAA,EACF;AACH;AASY,MAAC,iBAAiB;AAAA,EAC5B,QAAQ;AAAA;AAAA,IAEN,cAAc;AAAA,MACZ,SAAS,CAAE;AAAA,IACZ;AAAA;AAAA,IAGD,eAAe;AAAA,MACb,SAAS,MAAM;AAAE,eAAO,MAAM;AAAA,QAAA;AAAA,MAAK;AAAA,IACpC;AAAA,EACF;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL,eAAe,KAAK;AAAA,IAC1B;AAAA,EACG;AAAA,EAED,UAAU;AAAA,IACR,WAAY;AACV,aAAO,OAAO,UAAU,eAAe,KAAK,KAAK,cAAc,MAAM;AAAA,IACtE;AAAA,IAED,YAAa;;AACX,eAAO,UAAK,iBAAL,mBAAmB,SAAQ;AAAA,IACnC;AAAA,IAED,aAAc;;AACZ,cAAO,UAAK,iBAAL,mBAAmB;AAAA,IAC3B;AAAA,IAED,gBAAiB;;AACf,eAAO,UAAK,iBAAL,mBAAmB,aAAY;AAAA,IACvC;AAAA,IAED,uBAAwB;;AACtB,eAAO,UAAK,iBAAL,mBAAmB,oBAAmB;AAAA,IAC9C;AAAA,IAED,eAAgB;AACd,aAAO,KAAK,QAAQ,KAAK;AAAA,IAC1B;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL,MAAO,UAAU;AAEf,WAAK,gBAAgB;AAAA,IACtB;AAAA,IAED,YAAY;AAAA,MACV,WAAW;AAAA,MACX,QAAS,eAAe;AACtB,YAAI,KAAK,UAAU;AAEjB,eAAK,gBAAgB;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAAA,IAED,eAAe;AAAA,MACb,WAAW;AAAA,MACX,QAAS,kBAAkB;AACzB,YAAI,KAAK,UAAU;AAEjB,eAAK,mBAAmB,KAAK,YAAY;AAAA,QAC1C;AAAA,MACF;AAAA,IACF;AAAA,IAED,sBAAsB;AAAA,MACpB,WAAW;AAAA,MACX,QAAS,yBAAyB;AAChC,YAAI,KAAK,UAAU;AAEjB,eAAK,0BAA0B,2BAA2B,KAAK;AAAA,QAChE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAED,UAAW;;AACT,UAAM,eAAe,OAAO,UAAU,eAAe,KAAK,KAAK,cAAc,MAAM;AACnF,UAAM,qBAAoB,UAAK,iBAAL,mBAAmB;AAE7C,QAAI,CAAC,CAAC,KAAK,QAAQ,gBAAgB,sBAAsB,KAAK,MAAM;AAClEA,UAAI;AAAA,QACF,yFACI,iBAAiB,WAAW,KAAK,IAAI;AAAA,QACzC;AAAA,MACR;AAAA,IACK;AAAA,EACF;AACH;AAMY,MAAC,gBAAgB;AAAA,EAC3B,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,eAAe;AAAA,MACb,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IACjB;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAM,CAAE;AAAA,MACjB,WAAW,cAAY;AACrB,eAAOC,kBAAAA,2BAA2B,QAAQ;AAAA,MAC3C;AAAA,IACF;AAAA,EACF;AAAA,EAED,UAAU;AAAA,IACR,oBAAqB;AACnB,aAAOC,aAAc,eAAC,KAAK,QAAQ;AAAA,IACpC;AAAA,EACF;AACH;;;;;"}
|
|
@@ -4,9 +4,7 @@ const common_validators = require("../common/validators.cjs");
|
|
|
4
4
|
const common_utils = require("../common/utils.cjs");
|
|
5
5
|
const lib_validationMessages = require("../lib/validation-messages.cjs");
|
|
6
6
|
const InputGroupMixin = {
|
|
7
|
-
components: {
|
|
8
|
-
DtValidationMessages: lib_validationMessages.DtValidationMessages
|
|
9
|
-
},
|
|
7
|
+
components: { DtValidationMessages: lib_validationMessages.DtValidationMessages },
|
|
10
8
|
// provide data to slotted components
|
|
11
9
|
provide() {
|
|
12
10
|
return {
|
|
@@ -151,4 +149,4 @@ const InputGroupMixin = {
|
|
|
151
149
|
}
|
|
152
150
|
};
|
|
153
151
|
exports.InputGroupMixin = InputGroupMixin;
|
|
154
|
-
//# sourceMappingURL=input_group-
|
|
152
|
+
//# sourceMappingURL=input_group-M-D25pOJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input_group-
|
|
1
|
+
{"version":3,"file":"input_group-M-D25pOJ.js","sources":["../../common/mixins/input_group.js"],"sourcesContent":["import { warn } from 'vue';\nimport { DtValidationMessages } from '@/components/validation_messages';\nimport { validationMessageValidator } from '../validators';\nimport {\n getUniqueString,\n formatMessages,\n getValidationState,\n} from '@/common/utils';\n\n/**\n * This mixin provides a base provide obj and set of components, props, computed, watchers and data attributes that are\n * commonly used in our input group components.\n * @displayName Input Group Mixin\n */\nexport const InputGroupMixin = {\n components: { DtValidationMessages },\n\n // provide data to slotted components\n provide () {\n return {\n groupContext: this.provideObj,\n setGroupValue: this.setGroupValue,\n };\n },\n\n props: {\n /**\n * The id of the input group\n */\n id: {\n type: String,\n default () {\n return getUniqueString();\n },\n },\n\n /**\n * The value of the input group\n */\n value: {\n type: [String, Number, Boolean, Object],\n default: null,\n },\n\n /**\n * The name of the input group\n */\n name: {\n type: String,\n required: true,\n },\n\n /**\n * The legend of the input group\n */\n legend: {\n type: String,\n default: '',\n },\n\n /**\n * Disables the input group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Validation messages\n */\n messages: {\n type: Array,\n default: () => [],\n validator: messages => validationMessageValidator(messages),\n },\n\n /**\n * Show validation messages\n * @values true, false\n */\n showMessages: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Used to customize the legend element\n */\n legendClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the messages container\n */\n messagesClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the legend element\n */\n legendChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into the messages container\n */\n messagesChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {KeyboardEvent}\n */\n 'input',\n ],\n\n data () {\n const formattedMessages = formatMessages(this.messages);\n\n return {\n // wrap values in object to make reactive\n provideObj: {\n name: this.name,\n disabled: this.disabled,\n validationState: getValidationState(formattedMessages),\n },\n };\n },\n\n computed: {\n formattedMessages () {\n return formatMessages(this.messages);\n },\n\n validationState () {\n return getValidationState(this.formattedMessages);\n },\n },\n\n watch: {\n disabled (newDisabled) {\n this.provideObj.disabled = newDisabled;\n },\n\n validationState (newValidationState) {\n this.provideObj.validationState = newValidationState;\n },\n },\n\n methods: {\n /*\n * provided value to support 2 way binding for slotted input components.\n * slotted input components will change this value and need to emit new value up.\n */\n setGroupValue (newValue) {\n this.internalValue = newValue;\n this.$emit('input', newValue);\n },\n },\n\n mounted () {\n if (!this.legend && !this.$slots.legend && !this.$attrs['aria-label']) {\n warn('It is expected that an aria-label is provided when there is no legend.', this);\n }\n },\n};\n\nexport default {\n InputGroupMixin,\n};\n"],"names":["DtValidationMessages","getUniqueString","validationMessageValidator","formatMessages","getValidationState","warn"],"mappings":";;;;;AAcY,MAAC,kBAAkB;AAAA,EAC7B,YAAY,EAAEA,sBAAAA,uBAAAA,qBAAsB;AAAA;AAAA,EAGpC,UAAW;AACT,WAAO;AAAA,MACL,cAAc,KAAK;AAAA,MACnB,eAAe,KAAK;AAAA,IAC1B;AAAA,EACG;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,IAAI;AAAA,MACF,MAAM;AAAA,MACN,UAAW;AACT,eAAOC,aAAe,gBAAA;AAAA,MACvB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKD,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ,QAAQ,SAAS,MAAM;AAAA,MACtC,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKD,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAM,CAAE;AAAA,MACjB,WAAW,cAAYC,kBAA0B,2BAAC,QAAQ;AAAA,IAC3D;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACX,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,eAAe;AAAA,MACb,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IACjB;AAAA;AAAA;AAAA;AAAA,IAKD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IACjB;AAAA,EACF;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOL;AAAA,EACD;AAAA,EAED,OAAQ;AACN,UAAM,oBAAoBC,aAAAA,eAAe,KAAK,QAAQ;AAEtD,WAAO;AAAA;AAAA,MAEL,YAAY;AAAA,QACV,MAAM,KAAK;AAAA,QACX,UAAU,KAAK;AAAA,QACf,iBAAiBC,aAAkB,mBAAC,iBAAiB;AAAA,MACtD;AAAA,IACP;AAAA,EACG;AAAA,EAED,UAAU;AAAA,IACR,oBAAqB;AACnB,aAAOD,aAAc,eAAC,KAAK,QAAQ;AAAA,IACpC;AAAA,IAED,kBAAmB;AACjB,aAAOC,aAAkB,mBAAC,KAAK,iBAAiB;AAAA,IACjD;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL,SAAU,aAAa;AACrB,WAAK,WAAW,WAAW;AAAA,IAC5B;AAAA,IAED,gBAAiB,oBAAoB;AACnC,WAAK,WAAW,kBAAkB;AAAA,IACnC;AAAA,EACF;AAAA,EAED,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,cAAe,UAAU;AACvB,WAAK,gBAAgB;AACrB,WAAK,MAAM,SAAS,QAAQ;AAAA,IAC7B;AAAA,EACF;AAAA,EAED,UAAW;AACT,QAAI,CAAC,KAAK,UAAU,CAAC,KAAK,OAAO,UAAU,CAAC,KAAK,OAAO,YAAY,GAAG;AACrEC,eAAK,0EAA0E,IAAI;AAAA,IACpF;AAAA,EACF;AACH;;"}
|
|
@@ -3,9 +3,7 @@ import { validationMessageValidator } from "../common/validators.js";
|
|
|
3
3
|
import { getUniqueString, formatMessages, getValidationState } from "../common/utils.js";
|
|
4
4
|
import { DtValidationMessages } from "../lib/validation-messages.js";
|
|
5
5
|
const InputGroupMixin = {
|
|
6
|
-
components: {
|
|
7
|
-
DtValidationMessages
|
|
8
|
-
},
|
|
6
|
+
components: { DtValidationMessages },
|
|
9
7
|
// provide data to slotted components
|
|
10
8
|
provide() {
|
|
11
9
|
return {
|
|
@@ -152,4 +150,4 @@ const InputGroupMixin = {
|
|
|
152
150
|
export {
|
|
153
151
|
InputGroupMixin
|
|
154
152
|
};
|
|
155
|
-
//# sourceMappingURL=input_group-
|
|
153
|
+
//# sourceMappingURL=input_group-jWnq2DJT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input_group-
|
|
1
|
+
{"version":3,"file":"input_group-jWnq2DJT.js","sources":["../../common/mixins/input_group.js"],"sourcesContent":["import { warn } from 'vue';\nimport { DtValidationMessages } from '@/components/validation_messages';\nimport { validationMessageValidator } from '../validators';\nimport {\n getUniqueString,\n formatMessages,\n getValidationState,\n} from '@/common/utils';\n\n/**\n * This mixin provides a base provide obj and set of components, props, computed, watchers and data attributes that are\n * commonly used in our input group components.\n * @displayName Input Group Mixin\n */\nexport const InputGroupMixin = {\n components: { DtValidationMessages },\n\n // provide data to slotted components\n provide () {\n return {\n groupContext: this.provideObj,\n setGroupValue: this.setGroupValue,\n };\n },\n\n props: {\n /**\n * The id of the input group\n */\n id: {\n type: String,\n default () {\n return getUniqueString();\n },\n },\n\n /**\n * The value of the input group\n */\n value: {\n type: [String, Number, Boolean, Object],\n default: null,\n },\n\n /**\n * The name of the input group\n */\n name: {\n type: String,\n required: true,\n },\n\n /**\n * The legend of the input group\n */\n legend: {\n type: String,\n default: '',\n },\n\n /**\n * Disables the input group\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Validation messages\n */\n messages: {\n type: Array,\n default: () => [],\n validator: messages => validationMessageValidator(messages),\n },\n\n /**\n * Show validation messages\n * @values true, false\n */\n showMessages: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Used to customize the legend element\n */\n legendClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the messages container\n */\n messagesClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the legend element\n */\n legendChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into the messages container\n */\n messagesChildProps: {\n type: Object,\n default: () => ({}),\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {KeyboardEvent}\n */\n 'input',\n ],\n\n data () {\n const formattedMessages = formatMessages(this.messages);\n\n return {\n // wrap values in object to make reactive\n provideObj: {\n name: this.name,\n disabled: this.disabled,\n validationState: getValidationState(formattedMessages),\n },\n };\n },\n\n computed: {\n formattedMessages () {\n return formatMessages(this.messages);\n },\n\n validationState () {\n return getValidationState(this.formattedMessages);\n },\n },\n\n watch: {\n disabled (newDisabled) {\n this.provideObj.disabled = newDisabled;\n },\n\n validationState (newValidationState) {\n this.provideObj.validationState = newValidationState;\n },\n },\n\n methods: {\n /*\n * provided value to support 2 way binding for slotted input components.\n * slotted input components will change this value and need to emit new value up.\n */\n setGroupValue (newValue) {\n this.internalValue = newValue;\n this.$emit('input', newValue);\n },\n },\n\n mounted () {\n if (!this.legend && !this.$slots.legend && !this.$attrs['aria-label']) {\n warn('It is expected that an aria-label is provided when there is no legend.', this);\n }\n },\n};\n\nexport default {\n InputGroupMixin,\n};\n"],"names":[],"mappings":";;;;AAcY,MAAC,kBAAkB;AAAA,EAC7B,YAAY,EAAE,qBAAsB;AAAA;AAAA,EAGpC,UAAW;AACT,WAAO;AAAA,MACL,cAAc,KAAK;AAAA,MACnB,eAAe,KAAK;AAAA,IAC1B;AAAA,EACG;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,IAAI;AAAA,MACF,MAAM;AAAA,MACN,UAAW;AACT,eAAO,gBAAe;AAAA,MACvB;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKD,OAAO;AAAA,MACL,MAAM,CAAC,QAAQ,QAAQ,SAAS,MAAM;AAAA,MACtC,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA;AAAA;AAAA;AAAA,IAKD,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAM,CAAE;AAAA,MACjB,WAAW,cAAY,2BAA2B,QAAQ;AAAA,IAC3D;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACX,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,eAAe;AAAA,MACb,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IACjB;AAAA;AAAA;AAAA;AAAA,IAKD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IACjB;AAAA,EACF;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOL;AAAA,EACD;AAAA,EAED,OAAQ;AACN,UAAM,oBAAoB,eAAe,KAAK,QAAQ;AAEtD,WAAO;AAAA;AAAA,MAEL,YAAY;AAAA,QACV,MAAM,KAAK;AAAA,QACX,UAAU,KAAK;AAAA,QACf,iBAAiB,mBAAmB,iBAAiB;AAAA,MACtD;AAAA,IACP;AAAA,EACG;AAAA,EAED,UAAU;AAAA,IACR,oBAAqB;AACnB,aAAO,eAAe,KAAK,QAAQ;AAAA,IACpC;AAAA,IAED,kBAAmB;AACjB,aAAO,mBAAmB,KAAK,iBAAiB;AAAA,IACjD;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL,SAAU,aAAa;AACrB,WAAK,WAAW,WAAW;AAAA,IAC5B;AAAA,IAED,gBAAiB,oBAAoB;AACnC,WAAK,WAAW,kBAAkB;AAAA,IACnC;AAAA,EACF;AAAA,EAED,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,cAAe,UAAU;AACvB,WAAK,gBAAgB;AACrB,WAAK,MAAM,SAAS,QAAQ;AAAA,IAC7B;AAAA,EACF;AAAA,EAED,UAAW;AACT,QAAI,CAAC,KAAK,UAAU,CAAC,KAAK,OAAO,UAAU,CAAC,KAAK,OAAO,YAAY,GAAG;AACrE,WAAK,0EAA0E,IAAI;AAAA,IACpF;AAAA,EACF;AACH;"}
|
|
@@ -74,10 +74,7 @@ const Dom = {
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
if (opt_behavior) {
|
|
77
|
-
el.scrollTo({
|
|
78
|
-
top: scrollTop,
|
|
79
|
-
behavior: opt_behavior
|
|
80
|
-
});
|
|
77
|
+
el.scrollTo({ top: scrollTop, behavior: opt_behavior });
|
|
81
78
|
} else {
|
|
82
79
|
el.scrollTop = scrollTop;
|
|
83
80
|
}
|
|
@@ -211,7 +208,9 @@ const KeyboardNavigation = ({
|
|
|
211
208
|
const highlightedMatchingItemIndex = matchingItems.findIndex((item) => {
|
|
212
209
|
return this[indexKey] === listItems.indexOf(item);
|
|
213
210
|
});
|
|
214
|
-
const nextHighlightedItemIndex = listItems.indexOf(
|
|
211
|
+
const nextHighlightedItemIndex = listItems.indexOf(
|
|
212
|
+
highlightedMatchingItemIndex < matchingItems.length - 1 ? matchingItems[highlightedMatchingItemIndex + 1] : matchingItems[0]
|
|
213
|
+
);
|
|
215
214
|
this.setHighlightIndex(nextHighlightedItemIndex);
|
|
216
215
|
this.scrollActiveItemIntoViewIfNeeded();
|
|
217
216
|
this.focusActiveItemIfNeeded();
|
|
@@ -282,4 +281,4 @@ const KeyboardNavigation = ({
|
|
|
282
281
|
export {
|
|
283
282
|
KeyboardNavigation
|
|
284
283
|
};
|
|
285
|
-
//# sourceMappingURL=keyboard_list_navigation-
|
|
284
|
+
//# sourceMappingURL=keyboard_list_navigation-ScXhrxya.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard_list_navigation-x3D6RcC7.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":["methods","scrollElementIntoViewIfNeeded","ref","opt_center","opt_behavior","opt_parent","scrollIntoViewIfNeeded","scrollIntoView","scrollElementIntoView","opt_scrollToTop","dir","undefined","opt_dir","opt_ifNeeded","parentElement","offsetTop","refParent","scrollBounds","_getScrollBounds","parentHeight","bottom","top","elHeight","_getElementHeight","offsetBottom","scrollTop","_setScrollTop","el","bounds","opt_isNeeded","_inScrollBounds","scrollTo","behavior","getBoundingClientRect","height","ERROR_INVALID_LIST_ELEMENT","listItemRole","indexKey","idKey","listElementKey","activeItemKey","openMethod","afterHighlightMethod","beginningOfListMethod","endOfListMethod","scrollToOnHighlight","focusOnKeyboardNavigation","mixins","Dom","data","provide","highlightId","_getListElement","$el","_itemsLength","listItems","_getListItemNodes","length","listElement","console","error","Array","from","querySelectorAll","onUpKey","setHighlightIndex","scrollActiveItemIntoViewIfNeeded","focusActiveItemIfNeeded","onDownKey","onHomeKey","jumpToBeginning","onEndKey","jumpToEnd","onNavigationKey","key","matchingItems","filter","item","content","textContent","trim","toLowerCase","startsWith","highlightedMatchingItemIndex","findIndex","indexOf","nextHighlightedItemIndex","isValidLetter","num","_getItemId","setHighlightId","id","_getItemIndex","querySelector","index","activeItemEl","focus"],"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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"}
|
|
@@ -75,10 +75,7 @@ const Dom = {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
if (opt_behavior) {
|
|
78
|
-
el.scrollTo({
|
|
79
|
-
top: scrollTop,
|
|
80
|
-
behavior: opt_behavior
|
|
81
|
-
});
|
|
78
|
+
el.scrollTo({ top: scrollTop, behavior: opt_behavior });
|
|
82
79
|
} else {
|
|
83
80
|
el.scrollTop = scrollTop;
|
|
84
81
|
}
|
|
@@ -212,7 +209,9 @@ const KeyboardNavigation = ({
|
|
|
212
209
|
const highlightedMatchingItemIndex = matchingItems.findIndex((item) => {
|
|
213
210
|
return this[indexKey] === listItems.indexOf(item);
|
|
214
211
|
});
|
|
215
|
-
const nextHighlightedItemIndex = listItems.indexOf(
|
|
212
|
+
const nextHighlightedItemIndex = listItems.indexOf(
|
|
213
|
+
highlightedMatchingItemIndex < matchingItems.length - 1 ? matchingItems[highlightedMatchingItemIndex + 1] : matchingItems[0]
|
|
214
|
+
);
|
|
216
215
|
this.setHighlightIndex(nextHighlightedItemIndex);
|
|
217
216
|
this.scrollActiveItemIntoViewIfNeeded();
|
|
218
217
|
this.focusActiveItemIfNeeded();
|
|
@@ -281,4 +280,4 @@ const KeyboardNavigation = ({
|
|
|
281
280
|
}
|
|
282
281
|
});
|
|
283
282
|
exports.KeyboardNavigation = KeyboardNavigation;
|
|
284
|
-
//# sourceMappingURL=keyboard_list_navigation-
|
|
283
|
+
//# sourceMappingURL=keyboard_list_navigation-fJnl_Iox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard_list_navigation-YIqTuw1W.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":["methods","scrollElementIntoViewIfNeeded","ref","opt_center","opt_behavior","opt_parent","scrollIntoViewIfNeeded","scrollIntoView","scrollElementIntoView","opt_scrollToTop","dir","undefined","opt_dir","opt_ifNeeded","parentElement","offsetTop","refParent","scrollBounds","_getScrollBounds","parentHeight","bottom","top","elHeight","_getElementHeight","offsetBottom","scrollTop","_setScrollTop","el","bounds","opt_isNeeded","_inScrollBounds","scrollTo","behavior","getBoundingClientRect","height","ERROR_INVALID_LIST_ELEMENT","listItemRole","indexKey","idKey","listElementKey","activeItemKey","openMethod","afterHighlightMethod","beginningOfListMethod","endOfListMethod","scrollToOnHighlight","focusOnKeyboardNavigation","mixins","Dom","data","provide","highlightId","_getListElement","$el","_itemsLength","listItems","_getListItemNodes","length","listElement","console","error","Array","from","querySelectorAll","onUpKey","setHighlightIndex","scrollActiveItemIntoViewIfNeeded","focusActiveItemIfNeeded","onDownKey","onHomeKey","jumpToBeginning","onEndKey","jumpToEnd","onNavigationKey","key","matchingItems","filter","item","content","textContent","trim","toLowerCase","startsWith","highlightedMatchingItemIndex","findIndex","indexOf","nextHighlightedItemIndex","isValidLetter","num","_getItemId","setHighlightId","id","_getItemIndex","querySelector","index","activeItemEl","focus"],"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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link_constants-AfTWrr-n.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 MENTION = 'mention';\nexport const LINK_VARIANTS = ['', DANGER, WARNING, SUCCESS, MUTED, 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 mention: 'd-link--mention',\n};\n\nconst LINK_KIND_MODIFIERS_INVERTED = {\n default: 'd-link--inverted',\n warning: 'd-link--inverted-warning',\n danger: 'd-link--inverted-danger',\n success: 'd-link--inverted-success',\n muted: 'd-link--inverted-muted',\n mention: 'd-link--inverted-mention',\n};\n\nexport const getLinkKindModifier = (kind, inverted) => {\n if (inverted) {\n return LINK_KIND_MODIFIERS_INVERTED[kind || 'default'];\n }\n return LINK_KIND_MODIFIERS[kind];\n};\n\nexport default {\n LINK_VARIANTS,\n LINK_KIND_MODIFIERS,\n getLinkKindModifier,\n};\n"],"names":[
|
|
1
|
+
{"version":3,"file":"link_constants-AfTWrr-n.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 MENTION = 'mention';\nexport const LINK_VARIANTS = ['', DANGER, WARNING, SUCCESS, MUTED, 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 mention: 'd-link--mention',\n};\n\nconst LINK_KIND_MODIFIERS_INVERTED = {\n default: 'd-link--inverted',\n warning: 'd-link--inverted-warning',\n danger: 'd-link--inverted-danger',\n success: 'd-link--inverted-success',\n muted: 'd-link--inverted-muted',\n mention: 'd-link--inverted-mention',\n};\n\nexport const getLinkKindModifier = (kind, inverted) => {\n if (inverted) {\n return LINK_KIND_MODIFIERS_INVERTED[kind || 'default'];\n }\n return LINK_KIND_MODIFIERS[kind];\n};\n\nexport default {\n LINK_VARIANTS,\n LINK_KIND_MODIFIERS,\n getLinkKindModifier,\n};\n"],"names":[],"mappings":"AAAO,MAAM,SAAS;AACf,MAAM,UAAU;AAChB,MAAM,UAAU;AACX,MAAC,QAAQ;AACd,MAAM,UAAU;AACX,MAAC,gBAAgB,CAAC,IAAI,QAAQ,SAAS,SAAS,OAAO,OAAO;AAE9D,MAAC,sBAAsB;AAAA,EACjC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AACX;AAEA,MAAM,+BAA+B;AAAA,EACnC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AACX;AAEY,MAAC,sBAAsB,CAAC,MAAM,aAAa;AACrD,MAAI,UAAU;AACZ,WAAO,6BAA6B,QAAQ,SAAS;AAAA,EACtD;AACD,SAAO,oBAAoB,IAAI;AACjC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link_constants-x8NwdqmA.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 MENTION = 'mention';\nexport const LINK_VARIANTS = ['', DANGER, WARNING, SUCCESS, MUTED, 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 mention: 'd-link--mention',\n};\n\nconst LINK_KIND_MODIFIERS_INVERTED = {\n default: 'd-link--inverted',\n warning: 'd-link--inverted-warning',\n danger: 'd-link--inverted-danger',\n success: 'd-link--inverted-success',\n muted: 'd-link--inverted-muted',\n mention: 'd-link--inverted-mention',\n};\n\nexport const getLinkKindModifier = (kind, inverted) => {\n if (inverted) {\n return LINK_KIND_MODIFIERS_INVERTED[kind || 'default'];\n }\n return LINK_KIND_MODIFIERS[kind];\n};\n\nexport default {\n LINK_VARIANTS,\n LINK_KIND_MODIFIERS,\n getLinkKindModifier,\n};\n"],"names":[
|
|
1
|
+
{"version":3,"file":"link_constants-x8NwdqmA.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 MENTION = 'mention';\nexport const LINK_VARIANTS = ['', DANGER, WARNING, SUCCESS, MUTED, 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 mention: 'd-link--mention',\n};\n\nconst LINK_KIND_MODIFIERS_INVERTED = {\n default: 'd-link--inverted',\n warning: 'd-link--inverted-warning',\n danger: 'd-link--inverted-danger',\n success: 'd-link--inverted-success',\n muted: 'd-link--inverted-muted',\n mention: 'd-link--inverted-mention',\n};\n\nexport const getLinkKindModifier = (kind, inverted) => {\n if (inverted) {\n return LINK_KIND_MODIFIERS_INVERTED[kind || 'default'];\n }\n return LINK_KIND_MODIFIERS[kind];\n};\n\nexport default {\n LINK_VARIANTS,\n LINK_KIND_MODIFIERS,\n getLinkKindModifier,\n};\n"],"names":[],"mappings":";AAAO,MAAM,SAAS;AACf,MAAM,UAAU;AAChB,MAAM,UAAU;AACX,MAAC,QAAQ;AACd,MAAM,UAAU;AACX,MAAC,gBAAgB,CAAC,IAAI,QAAQ,SAAS,SAAS,OAAO,OAAO;AAE9D,MAAC,sBAAsB;AAAA,EACjC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AACX;AAEA,MAAM,+BAA+B;AAAA,EACnC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AACX;AAEY,MAAC,sBAAsB,CAAC,MAAM,aAAa;AACrD,MAAI,UAAU;AACZ,WAAO,6BAA6B,QAAQ,SAAS;AAAA,EACtD;AACD,SAAO,oBAAoB,IAAI;AACjC;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
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":[
|
|
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;;;"}
|
|
@@ -1 +1 @@
|
|
|
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":[
|
|
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;"}
|