@dialpad/dialtone-vue 2.152.0 → 2.153.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{dropdown-6UoczdUY.js → dropdown-YdCyJ5Dq.js} +77 -41
- package/dist/chunks/{dropdown-6UoczdUY.js.map → dropdown-YdCyJ5Dq.js.map} +1 -1
- package/dist/chunks/{dropdown-pHxnQPzT.js → dropdown-mjrYu_mK.js} +77 -41
- package/dist/chunks/{dropdown-pHxnQPzT.js.map → dropdown-mjrYu_mK.js.map} +1 -1
- package/dist/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
- package/dist/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
- package/dist/chunks/{icon_constants-Dy4MEUJL.js → icon_constants-TdxqLsS2.js} +3 -2
- package/dist/chunks/icon_constants-TdxqLsS2.js.map +1 -0
- package/dist/chunks/{icon_constants-QYpmdE0R.js → icon_constants-VEA0wI5C.js} +3 -2
- package/dist/chunks/icon_constants-VEA0wI5C.js.map +1 -0
- package/dist/chunks/{index-gj1jEXP4.js → index-DyqUqjvI.js} +122 -87
- package/dist/chunks/{index-gj1jEXP4.js.map → index-DyqUqjvI.js.map} +1 -1
- package/dist/chunks/{index-anN_sx1F.js → index-NYFNZeHH.js} +5 -13
- package/dist/chunks/{index-anN_sx1F.js.map → index-NYFNZeHH.js.map} +1 -1
- package/dist/chunks/{index-ODod4Oj_.js → index-i65YVk-U.js} +5 -13
- package/dist/chunks/{index-ODod4Oj_.js.map → index-i65YVk-U.js.map} +1 -1
- package/dist/chunks/{index-eJ-WWRdf.js → index-mBWay1Qb.js} +122 -87
- package/dist/chunks/{index-eJ-WWRdf.js.map → index-mBWay1Qb.js.map} +1 -1
- package/dist/chunks/{input-Axw-wFj2.js → input-Hqw33WBe.js} +3 -9
- package/dist/chunks/{input-Axw-wFj2.js.map → input-Hqw33WBe.js.map} +1 -1
- package/dist/chunks/{input-6kbd8Pju.js → input-PhJeBN6r.js} +3 -9
- package/dist/chunks/{input-6kbd8Pju.js.map → input-PhJeBN6r.js.map} +1 -1
- package/dist/chunks/{input_group-qVZaS5Bb.js → input_group-ZI7aVGEp.js} +4 -2
- package/dist/chunks/{input_group-m3cWYUfI.js.map → input_group-ZI7aVGEp.js.map} +1 -1
- package/dist/chunks/{input_group-m3cWYUfI.js → input_group-pE6ec9R3.js} +4 -2
- package/dist/chunks/{input_group-qVZaS5Bb.js.map → input_group-pE6ec9R3.js.map} +1 -1
- package/dist/chunks/{keyboard_list_navigation-ScXhrxya.js → keyboard_list_navigation-YIqTuw1W.js} +6 -5
- package/dist/chunks/{keyboard_list_navigation-fJnl_Iox.js.map → keyboard_list_navigation-YIqTuw1W.js.map} +1 -1
- package/dist/chunks/{keyboard_list_navigation-fJnl_Iox.js → keyboard_list_navigation-x3D6RcC7.js} +6 -5
- package/dist/chunks/{keyboard_list_navigation-ScXhrxya.js.map → keyboard_list_navigation-x3D6RcC7.js.map} +1 -1
- package/dist/chunks/link_constants-AfTWrr-n.js.map +1 -1
- package/dist/chunks/link_constants-x8NwdqmA.js.map +1 -1
- package/dist/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
- package/dist/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
- package/dist/chunks/{modal-XOr4kiNZ.js → modal-8X6poIZW.js} +4 -2
- package/dist/chunks/{modal-XOr4kiNZ.js.map → modal-8X6poIZW.js.map} +1 -1
- package/dist/chunks/{modal-VgxXAQFP.js → modal-OaWxzqNt.js} +4 -2
- package/dist/chunks/{modal-VgxXAQFP.js.map → modal-OaWxzqNt.js.map} +1 -1
- package/dist/chunks/{notice_action-IRUoLX2d.js → notice_action-qQr3K2TC.js} +71 -46
- package/dist/chunks/{notice_action-IRUoLX2d.js.map → notice_action-qQr3K2TC.js.map} +1 -1
- package/dist/chunks/{notice_action-P6uDyE9x.js → notice_action-tEvvMg7Q.js} +71 -46
- package/dist/chunks/{notice_action-P6uDyE9x.js.map → notice_action-tEvvMg7Q.js.map} +1 -1
- package/dist/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
- package/dist/chunks/notice_constants-UXo9e3bS.js.map +1 -1
- package/dist/chunks/{popover_constants-WsOUIY-m.js → popover_constants-6YkPPbnk.js} +26 -47
- package/dist/chunks/{popover_constants-WsOUIY-m.js.map → popover_constants-6YkPPbnk.js.map} +1 -1
- package/dist/chunks/{popover_constants-XnGWXaxX.js → popover_constants-h9MD6WUt.js} +26 -47
- package/dist/chunks/{popover_constants-XnGWXaxX.js.map → popover_constants-h9MD6WUt.js.map} +1 -1
- package/dist/chunks/{sr_only_close_button-ZaGdAHz7.js → sr_only_close_button-2Q9Ny1Nc.js} +24 -18
- package/dist/chunks/{sr_only_close_button-ZaGdAHz7.js.map → sr_only_close_button-2Q9Ny1Nc.js.map} +1 -1
- package/dist/chunks/{sr_only_close_button-81bHIpPu.js → sr_only_close_button-IjMVfBDE.js} +24 -18
- package/dist/chunks/{sr_only_close_button-81bHIpPu.js.map → sr_only_close_button-IjMVfBDE.js.map} +1 -1
- package/dist/chunks/stack_constants-HraCekPm.js.map +1 -1
- package/dist/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
- package/dist/chunks/{tab-FcsV5VmK.js → tab-79yMX6m6.js} +86 -68
- package/dist/chunks/{tab-V4cb44Ry.js.map → tab-79yMX6m6.js.map} +1 -1
- package/dist/chunks/{tab-V4cb44Ry.js → tab-muPOS7JE.js} +86 -68
- package/dist/chunks/{tab-FcsV5VmK.js.map → tab-muPOS7JE.js.map} +1 -1
- package/dist/common/constants.cjs.map +1 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/dates.cjs +3 -1
- package/dist/common/dates.cjs.map +1 -1
- package/dist/common/dates.js +3 -1
- package/dist/common/dates.js.map +1 -1
- package/dist/common/emoji.cjs +1 -1
- package/dist/common/emoji.js +1 -1
- package/dist/common/mixins.cjs +3 -3
- package/dist/common/mixins.js +3 -3
- package/dist/common/utils.cjs +8 -44
- package/dist/common/utils.cjs.map +1 -1
- package/dist/common/utils.js +8 -44
- package/dist/common/utils.js.map +1 -1
- package/dist/common/validators.cjs.map +1 -1
- package/dist/common/validators.js.map +1 -1
- package/dist/component-documentation.json +1 -1
- package/dist/dialtone-vue.cjs +12 -12
- package/dist/dialtone-vue.js +12 -12
- package/dist/lib/attachment-carousel.cjs +172 -48
- package/dist/lib/attachment-carousel.cjs.map +1 -1
- package/dist/lib/attachment-carousel.js +172 -48
- package/dist/lib/attachment-carousel.js.map +1 -1
- package/dist/lib/avatar.cjs +75 -58
- package/dist/lib/avatar.cjs.map +1 -1
- package/dist/lib/avatar.js +75 -58
- package/dist/lib/avatar.js.map +1 -1
- package/dist/lib/badge.cjs +31 -20
- package/dist/lib/badge.cjs.map +1 -1
- package/dist/lib/badge.js +31 -20
- package/dist/lib/badge.js.map +1 -1
- package/dist/lib/banner.cjs +53 -29
- package/dist/lib/banner.cjs.map +1 -1
- package/dist/lib/banner.js +53 -29
- package/dist/lib/banner.js.map +1 -1
- package/dist/lib/breadcrumbs.cjs +36 -30
- package/dist/lib/breadcrumbs.cjs.map +1 -1
- package/dist/lib/breadcrumbs.js +36 -30
- package/dist/lib/breadcrumbs.js.map +1 -1
- package/dist/lib/button-group.cjs +7 -14
- package/dist/lib/button-group.cjs.map +1 -1
- package/dist/lib/button-group.js +7 -14
- package/dist/lib/button-group.js.map +1 -1
- package/dist/lib/button.cjs +55 -62
- package/dist/lib/button.cjs.map +1 -1
- package/dist/lib/button.js +55 -62
- package/dist/lib/button.js.map +1 -1
- package/dist/lib/callbar-button-with-popover.cjs +91 -23
- package/dist/lib/callbar-button-with-popover.cjs.map +1 -1
- package/dist/lib/callbar-button-with-popover.js +91 -23
- package/dist/lib/callbar-button-with-popover.js.map +1 -1
- package/dist/lib/callbar-button.cjs +49 -33
- package/dist/lib/callbar-button.cjs.map +1 -1
- package/dist/lib/callbar-button.js +49 -33
- package/dist/lib/callbar-button.js.map +1 -1
- package/dist/lib/callbox.cjs +78 -15
- package/dist/lib/callbox.cjs.map +1 -1
- package/dist/lib/callbox.js +78 -15
- package/dist/lib/callbox.js.map +1 -1
- package/dist/lib/card.cjs +16 -23
- package/dist/lib/card.cjs.map +1 -1
- package/dist/lib/card.js +16 -23
- package/dist/lib/card.js.map +1 -1
- package/dist/lib/checkbox-group.cjs +3 -15
- package/dist/lib/checkbox-group.cjs.map +1 -1
- package/dist/lib/checkbox-group.js +3 -15
- package/dist/lib/checkbox-group.js.map +1 -1
- package/dist/lib/checkbox.cjs +52 -16
- package/dist/lib/checkbox.cjs.map +1 -1
- package/dist/lib/checkbox.js +52 -16
- package/dist/lib/checkbox.js.map +1 -1
- package/dist/lib/chip.cjs +58 -26
- package/dist/lib/chip.cjs.map +1 -1
- package/dist/lib/chip.js +58 -26
- package/dist/lib/chip.js.map +1 -1
- package/dist/lib/codeblock.cjs +4 -11
- package/dist/lib/codeblock.cjs.map +1 -1
- package/dist/lib/codeblock.js +4 -11
- package/dist/lib/codeblock.js.map +1 -1
- package/dist/lib/collapsible.cjs +91 -34
- package/dist/lib/collapsible.cjs.map +1 -1
- package/dist/lib/collapsible.js +91 -34
- package/dist/lib/collapsible.js.map +1 -1
- package/dist/lib/combobox-multi-select.cjs +131 -38
- package/dist/lib/combobox-multi-select.cjs.map +1 -1
- package/dist/lib/combobox-multi-select.js +131 -38
- package/dist/lib/combobox-multi-select.js.map +1 -1
- package/dist/lib/combobox-with-popover.cjs +130 -39
- package/dist/lib/combobox-with-popover.cjs.map +1 -1
- package/dist/lib/combobox-with-popover.js +130 -39
- package/dist/lib/combobox-with-popover.js.map +1 -1
- package/dist/lib/combobox.cjs +3 -3
- package/dist/lib/combobox.js +3 -3
- package/dist/lib/contact-centers-row.cjs +86 -29
- package/dist/lib/contact-centers-row.cjs.map +1 -1
- package/dist/lib/contact-centers-row.js +86 -29
- package/dist/lib/contact-centers-row.js.map +1 -1
- package/dist/lib/contact-info.cjs +95 -24
- package/dist/lib/contact-info.cjs.map +1 -1
- package/dist/lib/contact-info.js +95 -24
- package/dist/lib/contact-info.js.map +1 -1
- package/dist/lib/contact-row.cjs +61 -18
- package/dist/lib/contact-row.cjs.map +1 -1
- package/dist/lib/contact-row.js +61 -18
- package/dist/lib/contact-row.js.map +1 -1
- package/dist/lib/datepicker.cjs +361 -102
- package/dist/lib/datepicker.cjs.map +1 -1
- package/dist/lib/datepicker.js +361 -102
- package/dist/lib/datepicker.js.map +1 -1
- package/dist/lib/description-list.cjs +11 -12
- package/dist/lib/description-list.cjs.map +1 -1
- package/dist/lib/description-list.js +11 -12
- package/dist/lib/description-list.js.map +1 -1
- package/dist/lib/dropdown.cjs +13 -17
- package/dist/lib/dropdown.cjs.map +1 -1
- package/dist/lib/dropdown.js +13 -17
- package/dist/lib/dropdown.js.map +1 -1
- package/dist/lib/editor.cjs +409 -109
- package/dist/lib/editor.cjs.map +1 -1
- package/dist/lib/editor.js +409 -109
- package/dist/lib/editor.js.map +1 -1
- package/dist/lib/emoji-picker.cjs +512 -234
- package/dist/lib/emoji-picker.cjs.map +1 -1
- package/dist/lib/emoji-picker.js +512 -234
- package/dist/lib/emoji-picker.js.map +1 -1
- package/dist/lib/emoji-row.cjs +69 -31
- package/dist/lib/emoji-row.cjs.map +1 -1
- package/dist/lib/emoji-row.js +69 -31
- package/dist/lib/emoji-row.js.map +1 -1
- package/dist/lib/emoji-text-wrapper.cjs +14 -22
- package/dist/lib/emoji-text-wrapper.cjs.map +1 -1
- package/dist/lib/emoji-text-wrapper.js +14 -22
- package/dist/lib/emoji-text-wrapper.js.map +1 -1
- package/dist/lib/emoji.cjs +40 -13
- package/dist/lib/emoji.cjs.map +1 -1
- package/dist/lib/emoji.js +40 -13
- package/dist/lib/emoji.js.map +1 -1
- package/dist/lib/empty-state.cjs +27 -12
- package/dist/lib/empty-state.cjs.map +1 -1
- package/dist/lib/empty-state.js +27 -12
- package/dist/lib/empty-state.js.map +1 -1
- package/dist/lib/feed-item-row.cjs +106 -27
- package/dist/lib/feed-item-row.cjs.map +1 -1
- package/dist/lib/feed-item-row.js +106 -27
- package/dist/lib/feed-item-row.js.map +1 -1
- package/dist/lib/feed-pill.cjs +90 -35
- package/dist/lib/feed-pill.cjs.map +1 -1
- package/dist/lib/feed-pill.js +90 -35
- package/dist/lib/feed-pill.js.map +1 -1
- package/dist/lib/general-row.cjs +184 -75
- package/dist/lib/general-row.cjs.map +1 -1
- package/dist/lib/general-row.js +184 -75
- package/dist/lib/general-row.js.map +1 -1
- package/dist/lib/group-row.cjs +27 -16
- package/dist/lib/group-row.cjs.map +1 -1
- package/dist/lib/group-row.js +27 -16
- package/dist/lib/group-row.js.map +1 -1
- package/dist/lib/grouped-chip.cjs +68 -20
- package/dist/lib/grouped-chip.cjs.map +1 -1
- package/dist/lib/grouped-chip.js +68 -20
- package/dist/lib/grouped-chip.js.map +1 -1
- package/dist/lib/hovercard.cjs +71 -41
- package/dist/lib/hovercard.cjs.map +1 -1
- package/dist/lib/hovercard.js +71 -41
- package/dist/lib/hovercard.js.map +1 -1
- package/dist/lib/icon.cjs +10 -12
- package/dist/lib/icon.cjs.map +1 -1
- package/dist/lib/icon.js +10 -12
- package/dist/lib/icon.js.map +1 -1
- package/dist/lib/illustration.cjs +9 -12
- package/dist/lib/illustration.cjs.map +1 -1
- package/dist/lib/illustration.js +9 -12
- package/dist/lib/illustration.js.map +1 -1
- package/dist/lib/image-viewer.cjs +98 -23
- package/dist/lib/image-viewer.cjs.map +1 -1
- package/dist/lib/image-viewer.js +98 -23
- package/dist/lib/image-viewer.js.map +1 -1
- package/dist/lib/input-group.cjs +24 -14
- package/dist/lib/input-group.cjs.map +1 -1
- package/dist/lib/input-group.js +24 -14
- package/dist/lib/input-group.js.map +1 -1
- package/dist/lib/input.cjs +108 -40
- package/dist/lib/input.cjs.map +1 -1
- package/dist/lib/input.js +108 -40
- package/dist/lib/input.js.map +1 -1
- package/dist/lib/item-layout.cjs +42 -11
- package/dist/lib/item-layout.cjs.map +1 -1
- package/dist/lib/item-layout.js +42 -11
- package/dist/lib/item-layout.js.map +1 -1
- package/dist/lib/ivr-node.cjs +135 -47
- package/dist/lib/ivr-node.cjs.map +1 -1
- package/dist/lib/ivr-node.js +135 -47
- package/dist/lib/ivr-node.js.map +1 -1
- package/dist/lib/keyboard-shortcut.cjs +35 -23
- package/dist/lib/keyboard-shortcut.cjs.map +1 -1
- package/dist/lib/keyboard-shortcut.js +35 -23
- package/dist/lib/keyboard-shortcut.js.map +1 -1
- package/dist/lib/lazy-show.cjs +15 -11
- package/dist/lib/lazy-show.cjs.map +1 -1
- package/dist/lib/lazy-show.js +15 -11
- package/dist/lib/lazy-show.js.map +1 -1
- package/dist/lib/link.cjs +9 -15
- package/dist/lib/link.cjs.map +1 -1
- package/dist/lib/link.js +9 -15
- package/dist/lib/link.js.map +1 -1
- package/dist/lib/list-item-group.cjs +17 -11
- package/dist/lib/list-item-group.cjs.map +1 -1
- package/dist/lib/list-item-group.js +17 -11
- package/dist/lib/list-item-group.js.map +1 -1
- package/dist/lib/list-item.cjs +42 -23
- package/dist/lib/list-item.cjs.map +1 -1
- package/dist/lib/list-item.js +42 -23
- package/dist/lib/list-item.js.map +1 -1
- package/dist/lib/message-input.cjs +367 -97
- package/dist/lib/message-input.cjs.map +1 -1
- package/dist/lib/message-input.js +367 -97
- package/dist/lib/message-input.js.map +1 -1
- package/dist/lib/modal.cjs +94 -36
- package/dist/lib/modal.cjs.map +1 -1
- package/dist/lib/modal.js +94 -36
- package/dist/lib/modal.js.map +1 -1
- package/dist/lib/notice.cjs +40 -21
- package/dist/lib/notice.cjs.map +1 -1
- package/dist/lib/notice.js +40 -21
- package/dist/lib/notice.js.map +1 -1
- package/dist/lib/pagination.cjs +81 -20
- package/dist/lib/pagination.cjs.map +1 -1
- package/dist/lib/pagination.js +81 -20
- package/dist/lib/pagination.js.map +1 -1
- package/dist/lib/popover.cjs +194 -75
- package/dist/lib/popover.cjs.map +1 -1
- package/dist/lib/popover.js +195 -76
- package/dist/lib/popover.js.map +1 -1
- package/dist/lib/presence.cjs +23 -22
- package/dist/lib/presence.cjs.map +1 -1
- package/dist/lib/presence.js +23 -22
- package/dist/lib/presence.js.map +1 -1
- package/dist/lib/radio-group.cjs +2 -11
- package/dist/lib/radio-group.cjs.map +1 -1
- package/dist/lib/radio-group.js +2 -11
- package/dist/lib/radio-group.js.map +1 -1
- package/dist/lib/radio.cjs +47 -15
- package/dist/lib/radio.cjs.map +1 -1
- package/dist/lib/radio.js +47 -15
- package/dist/lib/radio.js.map +1 -1
- package/dist/lib/rich-text-editor.cjs +340 -327
- package/dist/lib/rich-text-editor.cjs.map +1 -1
- package/dist/lib/rich-text-editor.js +340 -327
- package/dist/lib/rich-text-editor.js.map +1 -1
- package/dist/lib/root-layout.cjs +33 -15
- package/dist/lib/root-layout.cjs.map +1 -1
- package/dist/lib/root-layout.js +33 -15
- package/dist/lib/root-layout.js.map +1 -1
- package/dist/lib/scrollbar-directive.cjs.map +1 -1
- package/dist/lib/scrollbar-directive.js.map +1 -1
- package/dist/lib/select-menu.cjs +52 -33
- package/dist/lib/select-menu.cjs.map +1 -1
- package/dist/lib/select-menu.js +52 -33
- package/dist/lib/select-menu.js.map +1 -1
- package/dist/lib/settings-menu-button.cjs +42 -16
- package/dist/lib/settings-menu-button.cjs.map +1 -1
- package/dist/lib/settings-menu-button.js +42 -16
- package/dist/lib/settings-menu-button.js.map +1 -1
- package/dist/lib/skeleton.cjs +118 -93
- package/dist/lib/skeleton.cjs.map +1 -1
- package/dist/lib/skeleton.js +118 -93
- package/dist/lib/skeleton.js.map +1 -1
- package/dist/lib/split-button.cjs +164 -64
- package/dist/lib/split-button.cjs.map +1 -1
- package/dist/lib/split-button.js +164 -64
- package/dist/lib/split-button.js.map +1 -1
- package/dist/lib/stack.cjs +21 -33
- package/dist/lib/stack.cjs.map +1 -1
- package/dist/lib/stack.js +21 -33
- package/dist/lib/stack.js.map +1 -1
- package/dist/lib/tabs.cjs +20 -13
- package/dist/lib/tabs.cjs.map +1 -1
- package/dist/lib/tabs.js +20 -13
- package/dist/lib/tabs.js.map +1 -1
- package/dist/lib/time-pill.cjs +8 -11
- package/dist/lib/time-pill.cjs.map +1 -1
- package/dist/lib/time-pill.js +8 -11
- package/dist/lib/time-pill.js.map +1 -1
- package/dist/lib/toast.cjs +42 -21
- package/dist/lib/toast.cjs.map +1 -1
- package/dist/lib/toast.js +42 -21
- package/dist/lib/toast.js.map +1 -1
- package/dist/lib/toggle.cjs +28 -24
- package/dist/lib/toggle.cjs.map +1 -1
- package/dist/lib/toggle.js +28 -24
- package/dist/lib/toggle.js.map +1 -1
- package/dist/lib/tooltip-directive.cjs +32 -26
- package/dist/lib/tooltip-directive.cjs.map +1 -1
- package/dist/lib/tooltip-directive.js +32 -26
- package/dist/lib/tooltip-directive.js.map +1 -1
- package/dist/lib/tooltip.cjs +31 -21
- package/dist/lib/tooltip.cjs.map +1 -1
- package/dist/lib/tooltip.js +32 -22
- package/dist/lib/tooltip.js.map +1 -1
- package/dist/lib/top-banner-info.cjs +18 -21
- package/dist/lib/top-banner-info.cjs.map +1 -1
- package/dist/lib/top-banner-info.js +18 -21
- package/dist/lib/top-banner-info.js.map +1 -1
- package/dist/lib/unread-pill.cjs +18 -12
- package/dist/lib/unread-pill.cjs.map +1 -1
- package/dist/lib/unread-pill.js +18 -12
- package/dist/lib/unread-pill.js.map +1 -1
- package/dist/lib/validation-messages.cjs +23 -16
- package/dist/lib/validation-messages.cjs.map +1 -1
- package/dist/lib/validation-messages.js +23 -16
- package/dist/lib/validation-messages.js.map +1 -1
- package/dist/style.css +5 -0
- package/dist/types/common/emoji/index.d.ts +2 -59236
- package/dist/types/common/emoji/index.d.ts.map +1 -1
- package/dist/types/components/button/button.vue.d.ts +1 -1
- package/dist/types/components/chip/chip.vue.d.ts +1 -1
- package/dist/types/components/combobox/combobox.vue.d.ts +1 -1
- package/dist/types/components/icon/icon.vue.d.ts +2 -2
- package/dist/types/components/icon/icon_constants.d.ts +1 -1
- package/dist/types/components/icon/icon_constants.d.ts.map +1 -1
- package/dist/types/components/illustration/illustration.vue.d.ts +2 -2
- package/dist/types/components/illustration/illustration_constants.d.ts +1 -1
- package/dist/types/components/illustration/illustration_constants.d.ts.map +1 -1
- package/dist/types/components/image_viewer/image_viewer.vue.d.ts +21 -0
- package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
- package/dist/types/components/input/input.vue.d.ts +1 -1
- package/dist/types/components/modal/modal.vue.d.ts +1 -1
- package/dist/types/components/rich_text_editor/extensions/custom_link/custom_link.d.ts.map +1 -1
- package/dist/types/components/rich_text_editor/mention_suggestion.d.ts.map +1 -1
- package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts +5 -3
- package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
- package/dist/types/components/toast/toast.vue.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip.vue.d.ts +1 -1
- package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
- package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
- package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
- package/dist/types/recipes/conversation_view/message_input/message_input.vue.d.ts +1 -1
- package/package.json +5 -4
- package/dist/chunks/icon_constants-Dy4MEUJL.js.map +0 -1
- package/dist/chunks/icon_constants-QYpmdE0R.js.map +0 -1
package/dist/lib/select-menu.cjs
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const Vue = require("vue");
|
|
4
4
|
const common_constants = require("../common/constants.cjs");
|
|
5
5
|
const common_utils = require("../common/utils.cjs");
|
|
6
|
-
const input = require("../chunks/input-
|
|
6
|
+
const input = require("../chunks/input-Hqw33WBe.js");
|
|
7
7
|
const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-1aBeR4AK.js");
|
|
8
8
|
const lib_validationMessages = require("./validation-messages.cjs");
|
|
9
9
|
require("../common/validators.cjs");
|
|
@@ -51,7 +51,9 @@ const optionsValidator = (options) => {
|
|
|
51
51
|
};
|
|
52
52
|
const _sfc_main = {
|
|
53
53
|
name: "DtSelectMenu",
|
|
54
|
-
components: {
|
|
54
|
+
components: {
|
|
55
|
+
DtValidationMessages: lib_validationMessages.DtValidationMessages
|
|
56
|
+
},
|
|
55
57
|
mixins: [input.MessagesMixin],
|
|
56
58
|
inheritAttrs: false,
|
|
57
59
|
props: {
|
|
@@ -239,43 +241,60 @@ const _sfc_main = {
|
|
|
239
241
|
};
|
|
240
242
|
var _sfc_render = function render() {
|
|
241
243
|
var _vm = this, _c = _vm._self._c;
|
|
242
|
-
return _c("div", [_c("label", [_vm.$slots.label || _vm.label ? _c("div", _vm._b({
|
|
243
|
-
"d-label",
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
244
|
+
return _c("div", [_c("label", [_vm.$slots.label || _vm.label ? _c("div", _vm._b({
|
|
245
|
+
class: ["d-label", _vm.LABEL_SIZE_MODIFIERS[_vm.size], _vm.labelClass],
|
|
246
|
+
attrs: {
|
|
247
|
+
"aria-details": _vm.labelAriaDetails,
|
|
248
|
+
"data-qa": "dt-select-label"
|
|
249
|
+
}
|
|
250
|
+
}, "div", _vm.labelChildProps, false), [_vm._t("label", function() {
|
|
247
251
|
return [_vm._v(_vm._s(_vm.label))];
|
|
248
|
-
})], 2) : _vm._e(), _vm.$slots.description || _vm.description ? _c("div", _vm._b({
|
|
249
|
-
"d-description",
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
252
|
+
})], 2) : _vm._e(), _vm.$slots.description || _vm.description ? _c("div", _vm._b({
|
|
253
|
+
class: ["d-description", _vm.DESCRIPTION_SIZE_MODIFIERS[_vm.size], _vm.descriptionClass],
|
|
254
|
+
attrs: {
|
|
255
|
+
"id": _vm.descriptionKey,
|
|
256
|
+
"data-qa": "dt-select-description"
|
|
257
|
+
}
|
|
258
|
+
}, "div", _vm.descriptionChildProps, false), [_vm._t("description", function() {
|
|
253
259
|
return [_vm._v(_vm._s(_vm.description))];
|
|
254
|
-
})], 2) : _vm._e(), _c("div", {
|
|
255
|
-
"d-select",
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
260
|
+
})], 2) : _vm._e(), _c("div", {
|
|
261
|
+
class: ["d-select", _vm.SELECT_SIZE_MODIFIERS[_vm.size], _vm.selectClass, {
|
|
262
|
+
"d-select--disabled": _vm.disabled
|
|
263
|
+
}],
|
|
264
|
+
attrs: {
|
|
265
|
+
"data-qa": "dt-select-wrapper"
|
|
266
|
+
}
|
|
267
|
+
}, [_c("select", _vm._g(_vm._b({
|
|
268
|
+
ref: "selectElement",
|
|
269
|
+
class: ["d-select__input", _vm.SELECT_STATE_MODIFIERS[_vm.state]],
|
|
270
|
+
attrs: {
|
|
271
|
+
"data-qa": "dt-select",
|
|
272
|
+
"disabled": _vm.disabled
|
|
273
|
+
},
|
|
274
|
+
domProps: {
|
|
275
|
+
"value": _vm.value
|
|
276
|
+
}
|
|
277
|
+
}, "select", _vm.$attrs, false), _vm.selectListeners), [_vm._t("default", function() {
|
|
263
278
|
return _vm._l(_vm.options, function(option) {
|
|
264
|
-
return _c("option", _vm._b({
|
|
279
|
+
return _c("option", _vm._b({
|
|
280
|
+
key: _vm.getOptionKey(option.value),
|
|
281
|
+
class: _vm.optionClass,
|
|
282
|
+
domProps: {
|
|
283
|
+
"value": option.value
|
|
284
|
+
}
|
|
285
|
+
}, "option", _vm.optionChildProps, false), [_vm._v(" " + _vm._s(option.label) + " ")]);
|
|
265
286
|
});
|
|
266
|
-
})], 2)])]), _c("dt-validation-messages", _vm._b({
|
|
287
|
+
})], 2)])]), _c("dt-validation-messages", _vm._b({
|
|
288
|
+
class: _vm.messagesClass,
|
|
289
|
+
attrs: {
|
|
290
|
+
"validation-messages": _vm.formattedMessages,
|
|
291
|
+
"show-messages": _vm.showMessages,
|
|
292
|
+
"data-qa": "dt-select-messages"
|
|
293
|
+
}
|
|
294
|
+
}, "dt-validation-messages", _vm.messagesChildProps, false))], 1);
|
|
267
295
|
};
|
|
268
296
|
var _sfc_staticRenderFns = [];
|
|
269
|
-
var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
270
|
-
_sfc_main,
|
|
271
|
-
_sfc_render,
|
|
272
|
-
_sfc_staticRenderFns,
|
|
273
|
-
false,
|
|
274
|
-
null,
|
|
275
|
-
null,
|
|
276
|
-
null,
|
|
277
|
-
null
|
|
278
|
-
);
|
|
297
|
+
var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
|
|
279
298
|
const select_menu = __component__.exports;
|
|
280
299
|
exports.DtSelectMenu = select_menu;
|
|
281
300
|
exports.SELECT_SIZE_MODIFIERS = SELECT_SIZE_MODIFIERS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-menu.cjs","sources":["../../components/select_menu/select_menu_constants.js","../../components/select_menu/select_menu_validators.js","../../components/select_menu/select_menu.vue"],"sourcesContent":["export const SELECT_SIZE_MODIFIERS = {\n xs: 'd-select--xs',\n sm: 'd-select--sm',\n md: '',\n lg: 'd-select--lg',\n xl: 'd-select--xl',\n};\n\nexport const SELECT_STATE_MODIFIERS = {\n error: 'd-select__input--error',\n warning: 'd-select__input--warning',\n success: 'd-select__input--success',\n};\n\nexport default {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n};\n","const hasValidOptionIndex = option => !option.index || typeof option.index === 'number';\n\nconst hasValidOptionValue = option => {\n if (!option.value) {\n return false;\n }\n\n return typeof option.value === 'string' || typeof option.value === 'number';\n};\n\nconst hasValidOptionLabel = option => {\n if (!option.label) {\n return false;\n }\n\n return typeof option.label === 'string';\n};\n\nexport const optionsValidator = options => {\n if (!options) {\n return true;\n }\n\n return options.every(option => {\n if (!hasValidOptionIndex(option)) {\n return false;\n }\n\n if (!hasValidOptionValue(option)) {\n return false;\n }\n\n if (!hasValidOptionLabel(option)) {\n return false;\n }\n\n return true;\n });\n};\n","<template>\n <div>\n <label>\n <div\n v-if=\"$slots.label || label\"\n :aria-details=\"labelAriaDetails\"\n :class=\"[\n 'd-label',\n LABEL_SIZE_MODIFIERS[size],\n labelClass,\n ]\"\n v-bind=\"labelChildProps\"\n data-qa=\"dt-select-label\"\n >\n <!-- @slot Slot for label, defaults to label prop -->\n <slot name=\"label\">{{ label }}</slot>\n </div>\n <div\n v-if=\"$slots.description || description\"\n :id=\"descriptionKey\"\n :class=\"[\n 'd-description',\n DESCRIPTION_SIZE_MODIFIERS[size],\n descriptionClass,\n ]\"\n v-bind=\"descriptionChildProps\"\n data-qa=\"dt-select-description\"\n >\n <!-- @slot Slot for description, defaults to description prop -->\n <slot name=\"description\">{{ description }}</slot>\n </div>\n <div\n :class=\"[\n 'd-select',\n SELECT_SIZE_MODIFIERS[size],\n selectClass,\n { 'd-select--disabled': disabled },\n ]\"\n data-qa=\"dt-select-wrapper\"\n >\n <select\n ref=\"selectElement\"\n :class=\"[\n 'd-select__input',\n SELECT_STATE_MODIFIERS[state],\n ]\"\n v-bind=\"$attrs\"\n :value=\"value\"\n data-qa=\"dt-select\"\n :disabled=\"disabled\"\n v-on=\"selectListeners\"\n >\n <!-- @slot Slot for select menu options, defaults to options prop -->\n <slot>\n <option\n v-for=\"option in options\"\n :key=\"getOptionKey(option.value)\"\n :value=\"option.value\"\n :class=\"optionClass\"\n v-bind=\"optionChildProps\"\n >\n {{ option.label }}\n </option>\n </slot>\n </select>\n </div>\n </label>\n <dt-validation-messages\n :validation-messages=\"formattedMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n v-bind=\"messagesChildProps\"\n data-qa=\"dt-select-messages\"\n />\n </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n} from '@/common/constants';\nimport {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n} from './select_menu_constants';\nimport {\n getUniqueString,\n getValidationState,\n} from '@/common/utils';\nimport { MessagesMixin } from '@/common/mixins/input';\nimport { optionsValidator } from './select_menu_validators.js';\nimport { DtValidationMessages } from '../validation_messages';\n\n/**\n * A select menu is an input control that allows users to choose one option from a list.\n * @property {Boolean} disabled attribute\n * @property {String} name attribute\n * @property {String} value attribute\n * @see https://dialtone.dialpad.com/components/select.html\n */\nexport default {\n name: 'DtSelectMenu',\n\n components: { DtValidationMessages },\n\n mixins: [MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Label for the select\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Description for the select\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Select Menu Options, overridden by default slot. Each option has the following structure:\n * `{ index: number (optional), value: number || string (required), label: string (required) }`\n * @param {Object[]} options - Optional - A list that can be used to create a list of select menu options\n * @param {number} options[].index - Optional - The index of the option\n * @param {number|string} options[].value - Required - The option value\n * @param {string} options[].label - Required - The option Label\n */\n options: {\n type: Array,\n default: () => [],\n validator: options => optionsValidator(options),\n },\n\n /**\n * Sets the selected value of the select menu. If it does not match a value in the options array, then it will be\n * 'unselected'.\n */\n value: {\n type: String,\n default: null,\n },\n\n /**\n * Controls the size of the select\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(SELECT_SIZE_MODIFIERS).includes(s),\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 * Used to customize the select\n */\n selectClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize each option, should options be provided via prop\n */\n optionClass: {\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 * A set of props that are passed into each option, should options be provided via prop\n */\n optionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Disabled state of the select\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n\n /**\n * Native change event\n *\n * @event change\n * @type {String | Number}\n */\n 'change',\n ],\n\n data () {\n return {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n };\n },\n\n computed: {\n selectListeners () {\n return {\n /* TODO\n Check if any usages of this component leverage $listeners and either remove if unused or scope the removal\n and migration prior to upgrading to Vue 3.x\n */\n ...this.$listeners,\n /*\n * Override input listener to as no-op. Prevents parent input listeners from being passed through onto the input\n * element which will result in the hander being called twice (once on the select element and once by the\n * emitted input event by the change listener).\n */\n input: () => {},\n change: event => this.emitValue(event.target.value, event),\n };\n },\n\n state () {\n return getValidationState(this.formattedMessages);\n },\n\n selectKey () {\n return getUniqueString();\n },\n\n descriptionKey () {\n return `select-${this.selectKey}-description`;\n },\n\n labelAriaDetails () {\n if (this.$slots.description || this.description) {\n return this.descriptionKey;\n }\n\n return this.$attrs['aria-details'];\n },\n },\n\n mounted () {\n this.validateOptionsPresence();\n },\n\n beforeUpdate () {\n this.validateOptionsPresence();\n },\n\n methods: {\n emitValue (value, event) {\n this.$emit('input', value, event);\n this.$emit('change', value, event);\n },\n\n getOptionKey (value) {\n return `select-${this.selectKey}-option-${value}`;\n },\n\n validateOptionsPresence () {\n if (this.options?.length < 1 && !this.$slots.default) {\n Vue.util.warn('Options are expected to be provided via prop or slot', this);\n }\n },\n },\n};\n</script>\n"],"names":["DtValidationMessages","MessagesMixin","LABEL_SIZE_MODIFIERS","DESCRIPTION_SIZE_MODIFIERS","getValidationState","getUniqueString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select-menu.cjs","sources":["../../components/select_menu/select_menu_constants.js","../../components/select_menu/select_menu_validators.js","../../components/select_menu/select_menu.vue"],"sourcesContent":["export const SELECT_SIZE_MODIFIERS = {\n xs: 'd-select--xs',\n sm: 'd-select--sm',\n md: '',\n lg: 'd-select--lg',\n xl: 'd-select--xl',\n};\n\nexport const SELECT_STATE_MODIFIERS = {\n error: 'd-select__input--error',\n warning: 'd-select__input--warning',\n success: 'd-select__input--success',\n};\n\nexport default {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n};\n","const hasValidOptionIndex = option => !option.index || typeof option.index === 'number';\n\nconst hasValidOptionValue = option => {\n if (!option.value) {\n return false;\n }\n\n return typeof option.value === 'string' || typeof option.value === 'number';\n};\n\nconst hasValidOptionLabel = option => {\n if (!option.label) {\n return false;\n }\n\n return typeof option.label === 'string';\n};\n\nexport const optionsValidator = options => {\n if (!options) {\n return true;\n }\n\n return options.every(option => {\n if (!hasValidOptionIndex(option)) {\n return false;\n }\n\n if (!hasValidOptionValue(option)) {\n return false;\n }\n\n if (!hasValidOptionLabel(option)) {\n return false;\n }\n\n return true;\n });\n};\n","<template>\n <div>\n <label>\n <div\n v-if=\"$slots.label || label\"\n :aria-details=\"labelAriaDetails\"\n :class=\"[\n 'd-label',\n LABEL_SIZE_MODIFIERS[size],\n labelClass,\n ]\"\n v-bind=\"labelChildProps\"\n data-qa=\"dt-select-label\"\n >\n <!-- @slot Slot for label, defaults to label prop -->\n <slot name=\"label\">{{ label }}</slot>\n </div>\n <div\n v-if=\"$slots.description || description\"\n :id=\"descriptionKey\"\n :class=\"[\n 'd-description',\n DESCRIPTION_SIZE_MODIFIERS[size],\n descriptionClass,\n ]\"\n v-bind=\"descriptionChildProps\"\n data-qa=\"dt-select-description\"\n >\n <!-- @slot Slot for description, defaults to description prop -->\n <slot name=\"description\">{{ description }}</slot>\n </div>\n <div\n :class=\"[\n 'd-select',\n SELECT_SIZE_MODIFIERS[size],\n selectClass,\n { 'd-select--disabled': disabled },\n ]\"\n data-qa=\"dt-select-wrapper\"\n >\n <select\n ref=\"selectElement\"\n :class=\"[\n 'd-select__input',\n SELECT_STATE_MODIFIERS[state],\n ]\"\n v-bind=\"$attrs\"\n :value=\"value\"\n data-qa=\"dt-select\"\n :disabled=\"disabled\"\n v-on=\"selectListeners\"\n >\n <!-- @slot Slot for select menu options, defaults to options prop -->\n <slot>\n <option\n v-for=\"option in options\"\n :key=\"getOptionKey(option.value)\"\n :value=\"option.value\"\n :class=\"optionClass\"\n v-bind=\"optionChildProps\"\n >\n {{ option.label }}\n </option>\n </slot>\n </select>\n </div>\n </label>\n <dt-validation-messages\n :validation-messages=\"formattedMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n v-bind=\"messagesChildProps\"\n data-qa=\"dt-select-messages\"\n />\n </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n} from '@/common/constants';\nimport {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n} from './select_menu_constants';\nimport {\n getUniqueString,\n getValidationState,\n} from '@/common/utils';\nimport { MessagesMixin } from '@/common/mixins/input';\nimport { optionsValidator } from './select_menu_validators.js';\nimport { DtValidationMessages } from '../validation_messages';\n\n/**\n * A select menu is an input control that allows users to choose one option from a list.\n * @property {Boolean} disabled attribute\n * @property {String} name attribute\n * @property {String} value attribute\n * @see https://dialtone.dialpad.com/components/select.html\n */\nexport default {\n name: 'DtSelectMenu',\n\n components: { DtValidationMessages },\n\n mixins: [MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Label for the select\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Description for the select\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Select Menu Options, overridden by default slot. Each option has the following structure:\n * `{ index: number (optional), value: number || string (required), label: string (required) }`\n * @param {Object[]} options - Optional - A list that can be used to create a list of select menu options\n * @param {number} options[].index - Optional - The index of the option\n * @param {number|string} options[].value - Required - The option value\n * @param {string} options[].label - Required - The option Label\n */\n options: {\n type: Array,\n default: () => [],\n validator: options => optionsValidator(options),\n },\n\n /**\n * Sets the selected value of the select menu. If it does not match a value in the options array, then it will be\n * 'unselected'.\n */\n value: {\n type: String,\n default: null,\n },\n\n /**\n * Controls the size of the select\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(SELECT_SIZE_MODIFIERS).includes(s),\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 * Used to customize the select\n */\n selectClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize each option, should options be provided via prop\n */\n optionClass: {\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 * A set of props that are passed into each option, should options be provided via prop\n */\n optionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Disabled state of the select\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n\n /**\n * Native change event\n *\n * @event change\n * @type {String | Number}\n */\n 'change',\n ],\n\n data () {\n return {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n };\n },\n\n computed: {\n selectListeners () {\n return {\n /* TODO\n Check if any usages of this component leverage $listeners and either remove if unused or scope the removal\n and migration prior to upgrading to Vue 3.x\n */\n ...this.$listeners,\n /*\n * Override input listener to as no-op. Prevents parent input listeners from being passed through onto the input\n * element which will result in the hander being called twice (once on the select element and once by the\n * emitted input event by the change listener).\n */\n input: () => {},\n change: event => this.emitValue(event.target.value, event),\n };\n },\n\n state () {\n return getValidationState(this.formattedMessages);\n },\n\n selectKey () {\n return getUniqueString();\n },\n\n descriptionKey () {\n return `select-${this.selectKey}-description`;\n },\n\n labelAriaDetails () {\n if (this.$slots.description || this.description) {\n return this.descriptionKey;\n }\n\n return this.$attrs['aria-details'];\n },\n },\n\n mounted () {\n this.validateOptionsPresence();\n },\n\n beforeUpdate () {\n this.validateOptionsPresence();\n },\n\n methods: {\n emitValue (value, event) {\n this.$emit('input', value, event);\n this.$emit('change', value, event);\n },\n\n getOptionKey (value) {\n return `select-${this.selectKey}-option-${value}`;\n },\n\n validateOptionsPresence () {\n if (this.options?.length < 1 && !this.$slots.default) {\n Vue.util.warn('Options are expected to be provided via prop or slot', this);\n }\n },\n },\n};\n</script>\n"],"names":["SELECT_SIZE_MODIFIERS","xs","sm","md","lg","xl","SELECT_STATE_MODIFIERS","error","warning","success","hasValidOptionIndex","option","index","hasValidOptionValue","value","hasValidOptionLabel","label","optionsValidator","options","every","_sfc_main","name","components","DtValidationMessages","mixins","MessagesMixin","inheritAttrs","props","type","String","default","description","Array","validator","size","s","Object","keys","includes","labelClass","descriptionClass","selectClass","optionClass","labelChildProps","descriptionChildProps","optionChildProps","disabled","Boolean","emits","data","LABEL_SIZE_MODIFIERS","DESCRIPTION_SIZE_MODIFIERS","computed","selectListeners","$listeners","input","change","event","emitValue","target","state","getValidationState","formattedMessages","selectKey","getUniqueString","descriptionKey","labelAriaDetails","$slots","$attrs","mounted","validateOptionsPresence","beforeUpdate","methods","$emit","getOptionKey","length","Vue","util","warn"],"mappings":"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"}
|
package/dist/lib/select-menu.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Vue from "vue";
|
|
2
2
|
import { LABEL_SIZE_MODIFIERS, DESCRIPTION_SIZE_MODIFIERS } from "../common/constants.js";
|
|
3
3
|
import { getValidationState, getUniqueString } from "../common/utils.js";
|
|
4
|
-
import { MessagesMixin } from "../chunks/input-
|
|
4
|
+
import { MessagesMixin } from "../chunks/input-PhJeBN6r.js";
|
|
5
5
|
import { normalizeComponent } from "../chunks/_plugin-vue2_normalizer-sOSkiPF3.js";
|
|
6
6
|
import { DtValidationMessages } from "./validation-messages.js";
|
|
7
7
|
import "../common/validators.js";
|
|
@@ -49,7 +49,9 @@ const optionsValidator = (options) => {
|
|
|
49
49
|
};
|
|
50
50
|
const _sfc_main = {
|
|
51
51
|
name: "DtSelectMenu",
|
|
52
|
-
components: {
|
|
52
|
+
components: {
|
|
53
|
+
DtValidationMessages
|
|
54
|
+
},
|
|
53
55
|
mixins: [MessagesMixin],
|
|
54
56
|
inheritAttrs: false,
|
|
55
57
|
props: {
|
|
@@ -237,43 +239,60 @@ const _sfc_main = {
|
|
|
237
239
|
};
|
|
238
240
|
var _sfc_render = function render() {
|
|
239
241
|
var _vm = this, _c = _vm._self._c;
|
|
240
|
-
return _c("div", [_c("label", [_vm.$slots.label || _vm.label ? _c("div", _vm._b({
|
|
241
|
-
"d-label",
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
242
|
+
return _c("div", [_c("label", [_vm.$slots.label || _vm.label ? _c("div", _vm._b({
|
|
243
|
+
class: ["d-label", _vm.LABEL_SIZE_MODIFIERS[_vm.size], _vm.labelClass],
|
|
244
|
+
attrs: {
|
|
245
|
+
"aria-details": _vm.labelAriaDetails,
|
|
246
|
+
"data-qa": "dt-select-label"
|
|
247
|
+
}
|
|
248
|
+
}, "div", _vm.labelChildProps, false), [_vm._t("label", function() {
|
|
245
249
|
return [_vm._v(_vm._s(_vm.label))];
|
|
246
|
-
})], 2) : _vm._e(), _vm.$slots.description || _vm.description ? _c("div", _vm._b({
|
|
247
|
-
"d-description",
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
250
|
+
})], 2) : _vm._e(), _vm.$slots.description || _vm.description ? _c("div", _vm._b({
|
|
251
|
+
class: ["d-description", _vm.DESCRIPTION_SIZE_MODIFIERS[_vm.size], _vm.descriptionClass],
|
|
252
|
+
attrs: {
|
|
253
|
+
"id": _vm.descriptionKey,
|
|
254
|
+
"data-qa": "dt-select-description"
|
|
255
|
+
}
|
|
256
|
+
}, "div", _vm.descriptionChildProps, false), [_vm._t("description", function() {
|
|
251
257
|
return [_vm._v(_vm._s(_vm.description))];
|
|
252
|
-
})], 2) : _vm._e(), _c("div", {
|
|
253
|
-
"d-select",
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
258
|
+
})], 2) : _vm._e(), _c("div", {
|
|
259
|
+
class: ["d-select", _vm.SELECT_SIZE_MODIFIERS[_vm.size], _vm.selectClass, {
|
|
260
|
+
"d-select--disabled": _vm.disabled
|
|
261
|
+
}],
|
|
262
|
+
attrs: {
|
|
263
|
+
"data-qa": "dt-select-wrapper"
|
|
264
|
+
}
|
|
265
|
+
}, [_c("select", _vm._g(_vm._b({
|
|
266
|
+
ref: "selectElement",
|
|
267
|
+
class: ["d-select__input", _vm.SELECT_STATE_MODIFIERS[_vm.state]],
|
|
268
|
+
attrs: {
|
|
269
|
+
"data-qa": "dt-select",
|
|
270
|
+
"disabled": _vm.disabled
|
|
271
|
+
},
|
|
272
|
+
domProps: {
|
|
273
|
+
"value": _vm.value
|
|
274
|
+
}
|
|
275
|
+
}, "select", _vm.$attrs, false), _vm.selectListeners), [_vm._t("default", function() {
|
|
261
276
|
return _vm._l(_vm.options, function(option) {
|
|
262
|
-
return _c("option", _vm._b({
|
|
277
|
+
return _c("option", _vm._b({
|
|
278
|
+
key: _vm.getOptionKey(option.value),
|
|
279
|
+
class: _vm.optionClass,
|
|
280
|
+
domProps: {
|
|
281
|
+
"value": option.value
|
|
282
|
+
}
|
|
283
|
+
}, "option", _vm.optionChildProps, false), [_vm._v(" " + _vm._s(option.label) + " ")]);
|
|
263
284
|
});
|
|
264
|
-
})], 2)])]), _c("dt-validation-messages", _vm._b({
|
|
285
|
+
})], 2)])]), _c("dt-validation-messages", _vm._b({
|
|
286
|
+
class: _vm.messagesClass,
|
|
287
|
+
attrs: {
|
|
288
|
+
"validation-messages": _vm.formattedMessages,
|
|
289
|
+
"show-messages": _vm.showMessages,
|
|
290
|
+
"data-qa": "dt-select-messages"
|
|
291
|
+
}
|
|
292
|
+
}, "dt-validation-messages", _vm.messagesChildProps, false))], 1);
|
|
265
293
|
};
|
|
266
294
|
var _sfc_staticRenderFns = [];
|
|
267
|
-
var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
268
|
-
_sfc_main,
|
|
269
|
-
_sfc_render,
|
|
270
|
-
_sfc_staticRenderFns,
|
|
271
|
-
false,
|
|
272
|
-
null,
|
|
273
|
-
null,
|
|
274
|
-
null,
|
|
275
|
-
null
|
|
276
|
-
);
|
|
295
|
+
var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
|
|
277
296
|
const select_menu = __component__.exports;
|
|
278
297
|
export {
|
|
279
298
|
select_menu as DtSelectMenu,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-menu.js","sources":["../../components/select_menu/select_menu_constants.js","../../components/select_menu/select_menu_validators.js","../../components/select_menu/select_menu.vue"],"sourcesContent":["export const SELECT_SIZE_MODIFIERS = {\n xs: 'd-select--xs',\n sm: 'd-select--sm',\n md: '',\n lg: 'd-select--lg',\n xl: 'd-select--xl',\n};\n\nexport const SELECT_STATE_MODIFIERS = {\n error: 'd-select__input--error',\n warning: 'd-select__input--warning',\n success: 'd-select__input--success',\n};\n\nexport default {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n};\n","const hasValidOptionIndex = option => !option.index || typeof option.index === 'number';\n\nconst hasValidOptionValue = option => {\n if (!option.value) {\n return false;\n }\n\n return typeof option.value === 'string' || typeof option.value === 'number';\n};\n\nconst hasValidOptionLabel = option => {\n if (!option.label) {\n return false;\n }\n\n return typeof option.label === 'string';\n};\n\nexport const optionsValidator = options => {\n if (!options) {\n return true;\n }\n\n return options.every(option => {\n if (!hasValidOptionIndex(option)) {\n return false;\n }\n\n if (!hasValidOptionValue(option)) {\n return false;\n }\n\n if (!hasValidOptionLabel(option)) {\n return false;\n }\n\n return true;\n });\n};\n","<template>\n <div>\n <label>\n <div\n v-if=\"$slots.label || label\"\n :aria-details=\"labelAriaDetails\"\n :class=\"[\n 'd-label',\n LABEL_SIZE_MODIFIERS[size],\n labelClass,\n ]\"\n v-bind=\"labelChildProps\"\n data-qa=\"dt-select-label\"\n >\n <!-- @slot Slot for label, defaults to label prop -->\n <slot name=\"label\">{{ label }}</slot>\n </div>\n <div\n v-if=\"$slots.description || description\"\n :id=\"descriptionKey\"\n :class=\"[\n 'd-description',\n DESCRIPTION_SIZE_MODIFIERS[size],\n descriptionClass,\n ]\"\n v-bind=\"descriptionChildProps\"\n data-qa=\"dt-select-description\"\n >\n <!-- @slot Slot for description, defaults to description prop -->\n <slot name=\"description\">{{ description }}</slot>\n </div>\n <div\n :class=\"[\n 'd-select',\n SELECT_SIZE_MODIFIERS[size],\n selectClass,\n { 'd-select--disabled': disabled },\n ]\"\n data-qa=\"dt-select-wrapper\"\n >\n <select\n ref=\"selectElement\"\n :class=\"[\n 'd-select__input',\n SELECT_STATE_MODIFIERS[state],\n ]\"\n v-bind=\"$attrs\"\n :value=\"value\"\n data-qa=\"dt-select\"\n :disabled=\"disabled\"\n v-on=\"selectListeners\"\n >\n <!-- @slot Slot for select menu options, defaults to options prop -->\n <slot>\n <option\n v-for=\"option in options\"\n :key=\"getOptionKey(option.value)\"\n :value=\"option.value\"\n :class=\"optionClass\"\n v-bind=\"optionChildProps\"\n >\n {{ option.label }}\n </option>\n </slot>\n </select>\n </div>\n </label>\n <dt-validation-messages\n :validation-messages=\"formattedMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n v-bind=\"messagesChildProps\"\n data-qa=\"dt-select-messages\"\n />\n </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n} from '@/common/constants';\nimport {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n} from './select_menu_constants';\nimport {\n getUniqueString,\n getValidationState,\n} from '@/common/utils';\nimport { MessagesMixin } from '@/common/mixins/input';\nimport { optionsValidator } from './select_menu_validators.js';\nimport { DtValidationMessages } from '../validation_messages';\n\n/**\n * A select menu is an input control that allows users to choose one option from a list.\n * @property {Boolean} disabled attribute\n * @property {String} name attribute\n * @property {String} value attribute\n * @see https://dialtone.dialpad.com/components/select.html\n */\nexport default {\n name: 'DtSelectMenu',\n\n components: { DtValidationMessages },\n\n mixins: [MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Label for the select\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Description for the select\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Select Menu Options, overridden by default slot. Each option has the following structure:\n * `{ index: number (optional), value: number || string (required), label: string (required) }`\n * @param {Object[]} options - Optional - A list that can be used to create a list of select menu options\n * @param {number} options[].index - Optional - The index of the option\n * @param {number|string} options[].value - Required - The option value\n * @param {string} options[].label - Required - The option Label\n */\n options: {\n type: Array,\n default: () => [],\n validator: options => optionsValidator(options),\n },\n\n /**\n * Sets the selected value of the select menu. If it does not match a value in the options array, then it will be\n * 'unselected'.\n */\n value: {\n type: String,\n default: null,\n },\n\n /**\n * Controls the size of the select\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(SELECT_SIZE_MODIFIERS).includes(s),\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 * Used to customize the select\n */\n selectClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize each option, should options be provided via prop\n */\n optionClass: {\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 * A set of props that are passed into each option, should options be provided via prop\n */\n optionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Disabled state of the select\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n\n /**\n * Native change event\n *\n * @event change\n * @type {String | Number}\n */\n 'change',\n ],\n\n data () {\n return {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n };\n },\n\n computed: {\n selectListeners () {\n return {\n /* TODO\n Check if any usages of this component leverage $listeners and either remove if unused or scope the removal\n and migration prior to upgrading to Vue 3.x\n */\n ...this.$listeners,\n /*\n * Override input listener to as no-op. Prevents parent input listeners from being passed through onto the input\n * element which will result in the hander being called twice (once on the select element and once by the\n * emitted input event by the change listener).\n */\n input: () => {},\n change: event => this.emitValue(event.target.value, event),\n };\n },\n\n state () {\n return getValidationState(this.formattedMessages);\n },\n\n selectKey () {\n return getUniqueString();\n },\n\n descriptionKey () {\n return `select-${this.selectKey}-description`;\n },\n\n labelAriaDetails () {\n if (this.$slots.description || this.description) {\n return this.descriptionKey;\n }\n\n return this.$attrs['aria-details'];\n },\n },\n\n mounted () {\n this.validateOptionsPresence();\n },\n\n beforeUpdate () {\n this.validateOptionsPresence();\n },\n\n methods: {\n emitValue (value, event) {\n this.$emit('input', value, event);\n this.$emit('change', value, event);\n },\n\n getOptionKey (value) {\n return `select-${this.selectKey}-option-${value}`;\n },\n\n validateOptionsPresence () {\n if (this.options?.length < 1 && !this.$slots.default) {\n Vue.util.warn('Options are expected to be provided via prop or slot', this);\n }\n },\n },\n};\n</script>\n"],"names":[],"mappings":";;;;;;;AAAY,MAAC,wBAAwB;AAAA,EACnC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEY,MAAC,yBAAyB;AAAA,EACpC,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX;ACZA,MAAM,sBAAsB,YAAU,CAAC,OAAO,SAAS,OAAO,OAAO,UAAU;AAE/E,MAAM,sBAAsB,YAAU;AACpC,MAAI,CAAC,OAAO,OAAO;AACjB,WAAO;AAAA,EACR;AAED,SAAO,OAAO,OAAO,UAAU,YAAY,OAAO,OAAO,UAAU;AACrE;AAEA,MAAM,sBAAsB,YAAU;AACpC,MAAI,CAAC,OAAO,OAAO;AACjB,WAAO;AAAA,EACR;AAED,SAAO,OAAO,OAAO,UAAU;AACjC;AAEO,MAAM,mBAAmB,aAAW;AACzC,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACR;AAED,SAAO,QAAQ,MAAM,YAAU;AAC7B,QAAI,CAAC,oBAAoB,MAAM,GAAG;AAChC,aAAO;AAAA,IACR;AAED,QAAI,CAAC,oBAAoB,MAAM,GAAG;AAChC,aAAO;AAAA,IACR;AAED,QAAI,CAAC,oBAAoB,MAAM,GAAG;AAChC,aAAO;AAAA,IACR;AAED,WAAO;AAAA,EACX,CAAG;AACH;ACgEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA,EAAA,qBAAA;AAAA,EAEA,QAAA,CAAA,aAAA;AAAA,EAEA,cAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,CAAA;AAAA,MACA,WAAA,aAAA,iBAAA,OAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,MAAA,OAAA,KAAA,qBAAA,EAAA,SAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,OAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,uBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,OAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,OAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,kBAAA;AACA,aAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAKA,GAAA,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMA,OAAA,MAAA;AAAA,QAAA;AAAA,QACA,QAAA,WAAA,KAAA,UAAA,MAAA,OAAA,OAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,QAAA;AACA,aAAA,mBAAA,KAAA,iBAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA,gBAAA;AAAA,IACA;AAAA,IAEA,iBAAA;AACA,aAAA,UAAA,KAAA,SAAA;AAAA,IACA;AAAA,IAEA,mBAAA;AACA,UAAA,KAAA,OAAA,eAAA,KAAA,aAAA;AACA,eAAA,KAAA;AAAA,MACA;AAEA,aAAA,KAAA,OAAA,cAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,SAAA,wBAAA;AAAA,EACA;AAAA,EAEA,eAAA;AACA,SAAA,wBAAA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,UAAA,OAAA,OAAA;AACA,WAAA,MAAA,SAAA,OAAA,KAAA;AACA,WAAA,MAAA,UAAA,OAAA,KAAA;AAAA,IACA;AAAA,IAEA,aAAA,OAAA;AACA,aAAA,UAAA,KAAA,SAAA,WAAA,KAAA;AAAA,IACA;AAAA,IAEA,0BAAA;;AACA,YAAA,UAAA,YAAA,mBAAA,UAAA,KAAA,CAAA,KAAA,OAAA,SAAA;AACA,YAAA,KAAA,KAAA,wDAAA,IAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"select-menu.js","sources":["../../components/select_menu/select_menu_constants.js","../../components/select_menu/select_menu_validators.js","../../components/select_menu/select_menu.vue"],"sourcesContent":["export const SELECT_SIZE_MODIFIERS = {\n xs: 'd-select--xs',\n sm: 'd-select--sm',\n md: '',\n lg: 'd-select--lg',\n xl: 'd-select--xl',\n};\n\nexport const SELECT_STATE_MODIFIERS = {\n error: 'd-select__input--error',\n warning: 'd-select__input--warning',\n success: 'd-select__input--success',\n};\n\nexport default {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n};\n","const hasValidOptionIndex = option => !option.index || typeof option.index === 'number';\n\nconst hasValidOptionValue = option => {\n if (!option.value) {\n return false;\n }\n\n return typeof option.value === 'string' || typeof option.value === 'number';\n};\n\nconst hasValidOptionLabel = option => {\n if (!option.label) {\n return false;\n }\n\n return typeof option.label === 'string';\n};\n\nexport const optionsValidator = options => {\n if (!options) {\n return true;\n }\n\n return options.every(option => {\n if (!hasValidOptionIndex(option)) {\n return false;\n }\n\n if (!hasValidOptionValue(option)) {\n return false;\n }\n\n if (!hasValidOptionLabel(option)) {\n return false;\n }\n\n return true;\n });\n};\n","<template>\n <div>\n <label>\n <div\n v-if=\"$slots.label || label\"\n :aria-details=\"labelAriaDetails\"\n :class=\"[\n 'd-label',\n LABEL_SIZE_MODIFIERS[size],\n labelClass,\n ]\"\n v-bind=\"labelChildProps\"\n data-qa=\"dt-select-label\"\n >\n <!-- @slot Slot for label, defaults to label prop -->\n <slot name=\"label\">{{ label }}</slot>\n </div>\n <div\n v-if=\"$slots.description || description\"\n :id=\"descriptionKey\"\n :class=\"[\n 'd-description',\n DESCRIPTION_SIZE_MODIFIERS[size],\n descriptionClass,\n ]\"\n v-bind=\"descriptionChildProps\"\n data-qa=\"dt-select-description\"\n >\n <!-- @slot Slot for description, defaults to description prop -->\n <slot name=\"description\">{{ description }}</slot>\n </div>\n <div\n :class=\"[\n 'd-select',\n SELECT_SIZE_MODIFIERS[size],\n selectClass,\n { 'd-select--disabled': disabled },\n ]\"\n data-qa=\"dt-select-wrapper\"\n >\n <select\n ref=\"selectElement\"\n :class=\"[\n 'd-select__input',\n SELECT_STATE_MODIFIERS[state],\n ]\"\n v-bind=\"$attrs\"\n :value=\"value\"\n data-qa=\"dt-select\"\n :disabled=\"disabled\"\n v-on=\"selectListeners\"\n >\n <!-- @slot Slot for select menu options, defaults to options prop -->\n <slot>\n <option\n v-for=\"option in options\"\n :key=\"getOptionKey(option.value)\"\n :value=\"option.value\"\n :class=\"optionClass\"\n v-bind=\"optionChildProps\"\n >\n {{ option.label }}\n </option>\n </slot>\n </select>\n </div>\n </label>\n <dt-validation-messages\n :validation-messages=\"formattedMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n v-bind=\"messagesChildProps\"\n data-qa=\"dt-select-messages\"\n />\n </div>\n</template>\n\n<script>\nimport Vue from 'vue';\nimport {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n} from '@/common/constants';\nimport {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n} from './select_menu_constants';\nimport {\n getUniqueString,\n getValidationState,\n} from '@/common/utils';\nimport { MessagesMixin } from '@/common/mixins/input';\nimport { optionsValidator } from './select_menu_validators.js';\nimport { DtValidationMessages } from '../validation_messages';\n\n/**\n * A select menu is an input control that allows users to choose one option from a list.\n * @property {Boolean} disabled attribute\n * @property {String} name attribute\n * @property {String} value attribute\n * @see https://dialtone.dialpad.com/components/select.html\n */\nexport default {\n name: 'DtSelectMenu',\n\n components: { DtValidationMessages },\n\n mixins: [MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Label for the select\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Description for the select\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Select Menu Options, overridden by default slot. Each option has the following structure:\n * `{ index: number (optional), value: number || string (required), label: string (required) }`\n * @param {Object[]} options - Optional - A list that can be used to create a list of select menu options\n * @param {number} options[].index - Optional - The index of the option\n * @param {number|string} options[].value - Required - The option value\n * @param {string} options[].label - Required - The option Label\n */\n options: {\n type: Array,\n default: () => [],\n validator: options => optionsValidator(options),\n },\n\n /**\n * Sets the selected value of the select menu. If it does not match a value in the options array, then it will be\n * 'unselected'.\n */\n value: {\n type: String,\n default: null,\n },\n\n /**\n * Controls the size of the select\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(SELECT_SIZE_MODIFIERS).includes(s),\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 * Used to customize the select\n */\n selectClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize each option, should options be provided via prop\n */\n optionClass: {\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 * A set of props that are passed into each option, should options be provided via prop\n */\n optionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Disabled state of the select\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n\n /**\n * Native change event\n *\n * @event change\n * @type {String | Number}\n */\n 'change',\n ],\n\n data () {\n return {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n };\n },\n\n computed: {\n selectListeners () {\n return {\n /* TODO\n Check if any usages of this component leverage $listeners and either remove if unused or scope the removal\n and migration prior to upgrading to Vue 3.x\n */\n ...this.$listeners,\n /*\n * Override input listener to as no-op. Prevents parent input listeners from being passed through onto the input\n * element which will result in the hander being called twice (once on the select element and once by the\n * emitted input event by the change listener).\n */\n input: () => {},\n change: event => this.emitValue(event.target.value, event),\n };\n },\n\n state () {\n return getValidationState(this.formattedMessages);\n },\n\n selectKey () {\n return getUniqueString();\n },\n\n descriptionKey () {\n return `select-${this.selectKey}-description`;\n },\n\n labelAriaDetails () {\n if (this.$slots.description || this.description) {\n return this.descriptionKey;\n }\n\n return this.$attrs['aria-details'];\n },\n },\n\n mounted () {\n this.validateOptionsPresence();\n },\n\n beforeUpdate () {\n this.validateOptionsPresence();\n },\n\n methods: {\n emitValue (value, event) {\n this.$emit('input', value, event);\n this.$emit('change', value, event);\n },\n\n getOptionKey (value) {\n return `select-${this.selectKey}-option-${value}`;\n },\n\n validateOptionsPresence () {\n if (this.options?.length < 1 && !this.$slots.default) {\n Vue.util.warn('Options are expected to be provided via prop or slot', this);\n }\n },\n },\n};\n</script>\n"],"names":["SELECT_SIZE_MODIFIERS","xs","sm","md","lg","xl","SELECT_STATE_MODIFIERS","error","warning","success","hasValidOptionIndex","option","index","hasValidOptionValue","value","hasValidOptionLabel","label","optionsValidator","options","every","_sfc_main","name","components","DtValidationMessages","mixins","MessagesMixin","inheritAttrs","props","type","String","default","description","Array","validator","size","s","Object","keys","includes","labelClass","descriptionClass","selectClass","optionClass","labelChildProps","descriptionChildProps","optionChildProps","disabled","Boolean","emits","data","LABEL_SIZE_MODIFIERS","DESCRIPTION_SIZE_MODIFIERS","computed","selectListeners","$listeners","input","change","event","emitValue","target","state","getValidationState","formattedMessages","selectKey","getUniqueString","descriptionKey","labelAriaDetails","$slots","$attrs","mounted","validateOptionsPresence","beforeUpdate","methods","$emit","getOptionKey","length","Vue","util","warn"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ const lib_icon = require("./icon.cjs");
|
|
|
6
6
|
require("vue");
|
|
7
7
|
require("../chunks/link_constants-x8NwdqmA.js");
|
|
8
8
|
require("@dialpad/dialtone-icons/vue2");
|
|
9
|
-
require("../chunks/icon_constants-
|
|
9
|
+
require("../chunks/icon_constants-VEA0wI5C.js");
|
|
10
10
|
require("@dialpad/dialtone-icons/icons.json");
|
|
11
11
|
const _sfc_main = {
|
|
12
12
|
name: "DtRecipeSettingsMenuButton",
|
|
@@ -44,23 +44,49 @@ const _sfc_main = {
|
|
|
44
44
|
};
|
|
45
45
|
var _sfc_render = function render() {
|
|
46
46
|
var _vm = this, _c = _vm._self._c;
|
|
47
|
-
return _vm.updateAvailable ? _c("dt-button", _vm._g({
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
return _vm.updateAvailable ? _c("dt-button", _vm._g({
|
|
48
|
+
staticClass: "settings-menu-button-update",
|
|
49
|
+
attrs: {
|
|
50
|
+
"importance": "outlined",
|
|
51
|
+
"size": "xs",
|
|
52
|
+
"icon-position": "right",
|
|
53
|
+
"aria-label": _vm.ariaLabel
|
|
54
|
+
},
|
|
55
|
+
scopedSlots: _vm._u([{
|
|
56
|
+
key: "icon",
|
|
57
|
+
fn: function() {
|
|
58
|
+
return [_c("dt-icon", {
|
|
59
|
+
attrs: {
|
|
60
|
+
"name": "more-vertical",
|
|
61
|
+
"size": "300"
|
|
62
|
+
}
|
|
63
|
+
})];
|
|
64
|
+
},
|
|
65
|
+
proxy: true
|
|
66
|
+
}], null, false, 3418040308)
|
|
67
|
+
}, _vm.$listeners), [_vm._t("default")], 2) : _c("dt-button", _vm._g({
|
|
68
|
+
staticClass: "settings-menu-button",
|
|
69
|
+
attrs: {
|
|
70
|
+
"importance": "clear",
|
|
71
|
+
"kind": "inverted",
|
|
72
|
+
"aria-label": _vm.ariaLabel
|
|
73
|
+
},
|
|
74
|
+
scopedSlots: _vm._u([{
|
|
75
|
+
key: "icon",
|
|
76
|
+
fn: function() {
|
|
77
|
+
return [_c("dt-icon", {
|
|
78
|
+
attrs: {
|
|
79
|
+
"name": "more-vertical",
|
|
80
|
+
"size": "300"
|
|
81
|
+
}
|
|
82
|
+
})];
|
|
83
|
+
},
|
|
84
|
+
proxy: true
|
|
85
|
+
}])
|
|
86
|
+
}, _vm.$listeners));
|
|
52
87
|
};
|
|
53
88
|
var _sfc_staticRenderFns = [];
|
|
54
|
-
var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
55
|
-
_sfc_main,
|
|
56
|
-
_sfc_render,
|
|
57
|
-
_sfc_staticRenderFns,
|
|
58
|
-
false,
|
|
59
|
-
null,
|
|
60
|
-
"4ee1371d",
|
|
61
|
-
null,
|
|
62
|
-
null
|
|
63
|
-
);
|
|
89
|
+
var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, "4ee1371d", null, null);
|
|
64
90
|
const settings_menu_button = __component__.exports;
|
|
65
91
|
exports.DtRecipeSettingsMenuButton = settings_menu_button;
|
|
66
92
|
//# sourceMappingURL=settings-menu-button.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-menu-button.cjs","sources":["../../recipes/header/settings_menu_button/settings_menu_button.vue"],"sourcesContent":["<template>\n <dt-button\n v-if=\"updateAvailable\"\n importance=\"outlined\"\n size=\"xs\"\n icon-position=\"right\"\n class=\"settings-menu-button-update\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <slot />\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n <dt-button\n v-else\n importance=\"clear\"\n kind=\"inverted\"\n class=\"settings-menu-button\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n</template>\n\n<script>\nimport DtButton from '@/components/button/button.vue';\nimport { DtIcon } from '@/components/icon';\n\nexport default {\n name: 'DtRecipeSettingsMenuButton',\n\n components: {\n DtButton,\n DtIcon,\n },\n\n props: {\n /**\n * Determines whether the button should display the update state\n * default is false\n * @values true, false\n */\n updateAvailable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n};\n</script>\n\n<style scoped lang=\"less\">\n.settings-menu-button {\n padding: var(--dt-space-0);\n border-radius: var(--dt-size-550);\n height: var(--dt-size-600);\n width: var(--dt-size-550);\n color: var(--dt-theme-topbar-button-color-foreground);\n background-color: var(--dt-theme-topbar-button-color-background);\n\n &:hover {\n background-color: var(--dt-theme-topbar-button-color-background-hover);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n\n &:active {\n background-color: var(--dt-theme-topbar-button-color-background-active);\n }\n}\n\n.settings-menu-button-update {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n color: var(--dt-color-blue-500);\n border-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n border-radius: var(--dt-size-radius-pill);\n height: var(--dt-size-600);\n\n &:hover {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 50%);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n}\n</style>\n"],"names":["DtButton","DtIcon"],"mappings":";;;;;;;;;;AAuCA,
|
|
1
|
+
{"version":3,"file":"settings-menu-button.cjs","sources":["../../recipes/header/settings_menu_button/settings_menu_button.vue"],"sourcesContent":["<template>\n <dt-button\n v-if=\"updateAvailable\"\n importance=\"outlined\"\n size=\"xs\"\n icon-position=\"right\"\n class=\"settings-menu-button-update\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <slot />\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n <dt-button\n v-else\n importance=\"clear\"\n kind=\"inverted\"\n class=\"settings-menu-button\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n</template>\n\n<script>\nimport DtButton from '@/components/button/button.vue';\nimport { DtIcon } from '@/components/icon';\n\nexport default {\n name: 'DtRecipeSettingsMenuButton',\n\n components: {\n DtButton,\n DtIcon,\n },\n\n props: {\n /**\n * Determines whether the button should display the update state\n * default is false\n * @values true, false\n */\n updateAvailable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n};\n</script>\n\n<style scoped lang=\"less\">\n.settings-menu-button {\n padding: var(--dt-space-0);\n border-radius: var(--dt-size-550);\n height: var(--dt-size-600);\n width: var(--dt-size-550);\n color: var(--dt-theme-topbar-button-color-foreground);\n background-color: var(--dt-theme-topbar-button-color-background);\n\n &:hover {\n background-color: var(--dt-theme-topbar-button-color-background-hover);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n\n &:active {\n background-color: var(--dt-theme-topbar-button-color-background-active);\n }\n}\n\n.settings-menu-button-update {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n color: var(--dt-color-blue-500);\n border-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n border-radius: var(--dt-size-radius-pill);\n height: var(--dt-size-600);\n\n &:hover {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 50%);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n}\n</style>\n"],"names":["_sfc_main","name","components","DtButton","DtIcon","props","updateAvailable","type","Boolean","default","ariaLabel","String","required","emits"],"mappings":";;;;;;;;;;AAuCA,MAAAA,YAAA;AAAA,EACAC,MAAA;AAAA,EAEAC,YAAA;AAAA,cACAC,WAAA;AAAA,IACAC,QAAAA,SAAAA;AAAAA,EACA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAC,iBAAA;AAAA,MACAC,MAAAC;AAAAA,MACAC,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKAC,WAAA;AAAA,MACAH,MAAAI;AAAAA,MACAC,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EAAA;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -4,7 +4,7 @@ import { DtIcon } from "./icon.js";
|
|
|
4
4
|
import "vue";
|
|
5
5
|
import "../chunks/link_constants-AfTWrr-n.js";
|
|
6
6
|
import "@dialpad/dialtone-icons/vue2";
|
|
7
|
-
import "../chunks/icon_constants-
|
|
7
|
+
import "../chunks/icon_constants-TdxqLsS2.js";
|
|
8
8
|
import "@dialpad/dialtone-icons/icons.json";
|
|
9
9
|
const _sfc_main = {
|
|
10
10
|
name: "DtRecipeSettingsMenuButton",
|
|
@@ -42,23 +42,49 @@ const _sfc_main = {
|
|
|
42
42
|
};
|
|
43
43
|
var _sfc_render = function render() {
|
|
44
44
|
var _vm = this, _c = _vm._self._c;
|
|
45
|
-
return _vm.updateAvailable ? _c("dt-button", _vm._g({
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
return _vm.updateAvailable ? _c("dt-button", _vm._g({
|
|
46
|
+
staticClass: "settings-menu-button-update",
|
|
47
|
+
attrs: {
|
|
48
|
+
"importance": "outlined",
|
|
49
|
+
"size": "xs",
|
|
50
|
+
"icon-position": "right",
|
|
51
|
+
"aria-label": _vm.ariaLabel
|
|
52
|
+
},
|
|
53
|
+
scopedSlots: _vm._u([{
|
|
54
|
+
key: "icon",
|
|
55
|
+
fn: function() {
|
|
56
|
+
return [_c("dt-icon", {
|
|
57
|
+
attrs: {
|
|
58
|
+
"name": "more-vertical",
|
|
59
|
+
"size": "300"
|
|
60
|
+
}
|
|
61
|
+
})];
|
|
62
|
+
},
|
|
63
|
+
proxy: true
|
|
64
|
+
}], null, false, 3418040308)
|
|
65
|
+
}, _vm.$listeners), [_vm._t("default")], 2) : _c("dt-button", _vm._g({
|
|
66
|
+
staticClass: "settings-menu-button",
|
|
67
|
+
attrs: {
|
|
68
|
+
"importance": "clear",
|
|
69
|
+
"kind": "inverted",
|
|
70
|
+
"aria-label": _vm.ariaLabel
|
|
71
|
+
},
|
|
72
|
+
scopedSlots: _vm._u([{
|
|
73
|
+
key: "icon",
|
|
74
|
+
fn: function() {
|
|
75
|
+
return [_c("dt-icon", {
|
|
76
|
+
attrs: {
|
|
77
|
+
"name": "more-vertical",
|
|
78
|
+
"size": "300"
|
|
79
|
+
}
|
|
80
|
+
})];
|
|
81
|
+
},
|
|
82
|
+
proxy: true
|
|
83
|
+
}])
|
|
84
|
+
}, _vm.$listeners));
|
|
50
85
|
};
|
|
51
86
|
var _sfc_staticRenderFns = [];
|
|
52
|
-
var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
53
|
-
_sfc_main,
|
|
54
|
-
_sfc_render,
|
|
55
|
-
_sfc_staticRenderFns,
|
|
56
|
-
false,
|
|
57
|
-
null,
|
|
58
|
-
"4ee1371d",
|
|
59
|
-
null,
|
|
60
|
-
null
|
|
61
|
-
);
|
|
87
|
+
var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, "4ee1371d", null, null);
|
|
62
88
|
const settings_menu_button = __component__.exports;
|
|
63
89
|
export {
|
|
64
90
|
settings_menu_button as DtRecipeSettingsMenuButton
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-menu-button.js","sources":["../../recipes/header/settings_menu_button/settings_menu_button.vue"],"sourcesContent":["<template>\n <dt-button\n v-if=\"updateAvailable\"\n importance=\"outlined\"\n size=\"xs\"\n icon-position=\"right\"\n class=\"settings-menu-button-update\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <slot />\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n <dt-button\n v-else\n importance=\"clear\"\n kind=\"inverted\"\n class=\"settings-menu-button\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n</template>\n\n<script>\nimport DtButton from '@/components/button/button.vue';\nimport { DtIcon } from '@/components/icon';\n\nexport default {\n name: 'DtRecipeSettingsMenuButton',\n\n components: {\n DtButton,\n DtIcon,\n },\n\n props: {\n /**\n * Determines whether the button should display the update state\n * default is false\n * @values true, false\n */\n updateAvailable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n};\n</script>\n\n<style scoped lang=\"less\">\n.settings-menu-button {\n padding: var(--dt-space-0);\n border-radius: var(--dt-size-550);\n height: var(--dt-size-600);\n width: var(--dt-size-550);\n color: var(--dt-theme-topbar-button-color-foreground);\n background-color: var(--dt-theme-topbar-button-color-background);\n\n &:hover {\n background-color: var(--dt-theme-topbar-button-color-background-hover);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n\n &:active {\n background-color: var(--dt-theme-topbar-button-color-background-active);\n }\n}\n\n.settings-menu-button-update {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n color: var(--dt-color-blue-500);\n border-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n border-radius: var(--dt-size-radius-pill);\n height: var(--dt-size-600);\n\n &:hover {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 50%);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n}\n</style>\n"],"names":[],"mappings":";;;;;;;;AAuCA,
|
|
1
|
+
{"version":3,"file":"settings-menu-button.js","sources":["../../recipes/header/settings_menu_button/settings_menu_button.vue"],"sourcesContent":["<template>\n <dt-button\n v-if=\"updateAvailable\"\n importance=\"outlined\"\n size=\"xs\"\n icon-position=\"right\"\n class=\"settings-menu-button-update\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <slot />\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n <dt-button\n v-else\n importance=\"clear\"\n kind=\"inverted\"\n class=\"settings-menu-button\"\n :aria-label=\"ariaLabel\"\n v-on=\"$listeners\"\n >\n <template #icon>\n <dt-icon\n name=\"more-vertical\"\n size=\"300\"\n />\n </template>\n </dt-button>\n</template>\n\n<script>\nimport DtButton from '@/components/button/button.vue';\nimport { DtIcon } from '@/components/icon';\n\nexport default {\n name: 'DtRecipeSettingsMenuButton',\n\n components: {\n DtButton,\n DtIcon,\n },\n\n props: {\n /**\n * Determines whether the button should display the update state\n * default is false\n * @values true, false\n */\n updateAvailable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n};\n</script>\n\n<style scoped lang=\"less\">\n.settings-menu-button {\n padding: var(--dt-space-0);\n border-radius: var(--dt-size-550);\n height: var(--dt-size-600);\n width: var(--dt-size-550);\n color: var(--dt-theme-topbar-button-color-foreground);\n background-color: var(--dt-theme-topbar-button-color-background);\n\n &:hover {\n background-color: var(--dt-theme-topbar-button-color-background-hover);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n\n &:active {\n background-color: var(--dt-theme-topbar-button-color-background-active);\n }\n}\n\n.settings-menu-button-update {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n color: var(--dt-color-blue-500);\n border-color: hsla(var(--dt-color-blue-200-hsl) / 25%);\n border-radius: var(--dt-size-radius-pill);\n height: var(--dt-size-600);\n\n &:hover {\n background-color: hsla(var(--dt-color-blue-200-hsl) / 50%);\n color: var(--dt-theme-topbar-button-color-foreground-hover);\n }\n}\n</style>\n"],"names":["_sfc_main","name","components","DtButton","DtIcon","props","updateAvailable","type","Boolean","default","ariaLabel","String","required","emits"],"mappings":";;;;;;;;AAuCA,MAAAA,YAAA;AAAA,EACAC,MAAA;AAAA,EAEAC,YAAA;AAAA,IACAC;AAAAA,IACAC;AAAAA,EACA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAC,iBAAA;AAAA,MACAC,MAAAC;AAAAA,MACAC,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKAC,WAAA;AAAA,MACAH,MAAAI;AAAAA,MACAC,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EAAA;AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|