@dialpad/dialtone 9.28.0 → 9.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/dialtone.css +2 -2
- package/dist/tokens/css/variables-cox-dark.css +1 -1
- package/dist/tokens/css/variables-cox-light.css +1 -1
- package/dist/tokens/css/variables-dark.css +1 -1
- package/dist/tokens/css/variables-light.css +1 -1
- package/dist/tokens/css/variables-tmo-dark.css +1 -1
- package/dist/tokens/css/variables-tmo-light.css +1 -1
- package/dist/tokens/less/variables-cox-dark.less +1 -1
- package/dist/tokens/less/variables-cox-light.less +1 -1
- package/dist/tokens/less/variables-dark.less +1 -1
- package/dist/tokens/less/variables-light.less +1 -1
- package/dist/tokens/less/variables-tmo-dark.less +1 -1
- package/dist/tokens/less/variables-tmo-light.less +1 -1
- package/dist/vue2/chunks/_plugin-vue2_normalizer-ZK80B3OL.js +2 -0
- package/dist/vue2/chunks/_plugin-vue2_normalizer-ZK80B3OL.js.map +1 -0
- package/dist/vue2/chunks/dropdown-zhMEz3bn.js +2 -0
- package/dist/vue2/chunks/dropdown-zhMEz3bn.js.map +1 -0
- package/dist/vue2/chunks/dropdown_constants-KHFvVI2L.js +2 -0
- package/dist/vue2/chunks/dropdown_constants-KHFvVI2L.js.map +1 -0
- package/dist/vue2/chunks/icon_constants-2S_OSQ1t.js +2 -0
- package/dist/vue2/chunks/icon_constants-2S_OSQ1t.js.map +1 -0
- package/dist/vue2/chunks/index-2jPosQBn.js +3 -0
- package/dist/vue2/chunks/index-2jPosQBn.js.map +1 -0
- package/dist/vue2/chunks/index-sdfB7Aok.js +2 -0
- package/dist/vue2/chunks/index-sdfB7Aok.js.map +1 -0
- package/dist/vue2/chunks/input-o-fc1X4b.js +2 -0
- package/dist/vue2/chunks/input-o-fc1X4b.js.map +1 -0
- package/dist/vue2/chunks/input_group-j2gTtc1C.js +2 -0
- package/dist/vue2/chunks/input_group-j2gTtc1C.js.map +1 -0
- package/dist/vue2/chunks/keyboard_list_navigation-N74Bpdq7.js +2 -0
- package/dist/vue2/chunks/keyboard_list_navigation-N74Bpdq7.js.map +1 -0
- package/dist/vue2/chunks/link_constants-Kn6kP4i1.js +2 -0
- package/dist/vue2/chunks/link_constants-Kn6kP4i1.js.map +1 -0
- package/dist/vue2/chunks/list_item_constants-Tsz5CO1m.js +2 -0
- package/dist/vue2/chunks/list_item_constants-Tsz5CO1m.js.map +1 -0
- package/dist/vue2/chunks/modal-qEzlo0Sj.js +2 -0
- package/dist/vue2/chunks/modal-qEzlo0Sj.js.map +1 -0
- package/dist/vue2/chunks/notice_action-u3ZKIhit.js +2 -0
- package/dist/vue2/chunks/notice_action-u3ZKIhit.js.map +1 -0
- package/dist/vue2/chunks/notice_constants-mC6al2Dm.js +2 -0
- package/dist/vue2/chunks/notice_constants-mC6al2Dm.js.map +1 -0
- package/dist/vue2/chunks/popover_constants-hOEhklvr.js +2 -0
- package/dist/vue2/chunks/popover_constants-hOEhklvr.js.map +1 -0
- package/dist/vue2/chunks/sr_only_close_button-ErijKGYR.js +3 -0
- package/dist/vue2/chunks/sr_only_close_button-ErijKGYR.js.map +1 -0
- package/dist/vue2/chunks/stack_constants-m9Ickqw0.js +2 -0
- package/dist/vue2/chunks/stack_constants-m9Ickqw0.js.map +1 -0
- package/dist/vue2/chunks/tab-7hJQSLFx.js +2 -0
- package/dist/vue2/chunks/tab-7hJQSLFx.js.map +1 -0
- package/dist/vue2/component-documentation.json +1 -1
- package/dist/vue2/dialtone-vue.cjs +2 -0
- package/dist/vue2/dialtone-vue.cjs.map +1 -0
- package/dist/vue2/lib/attachment-carousel.cjs +2 -0
- package/dist/vue2/lib/attachment-carousel.cjs.map +1 -0
- package/dist/vue2/lib/attachment-carousel.js +2 -3
- package/dist/vue2/lib/attachment-carousel.js.map +1 -1
- package/dist/vue2/lib/avatar.cjs +2 -0
- package/dist/vue2/lib/avatar.cjs.map +1 -0
- package/dist/vue2/lib/avatar.js +2 -3
- package/dist/vue2/lib/avatar.js.map +1 -1
- package/dist/vue2/lib/badge.cjs +2 -0
- package/dist/vue2/lib/badge.cjs.map +1 -0
- package/dist/vue2/lib/badge.js +2 -3
- package/dist/vue2/lib/badge.js.map +1 -1
- package/dist/vue2/lib/banner.cjs +3 -0
- package/dist/vue2/lib/banner.cjs.map +1 -0
- package/dist/vue2/lib/banner.js +2 -3
- package/dist/vue2/lib/banner.js.map +1 -1
- package/dist/vue2/lib/breadcrumbs.cjs +2 -0
- package/dist/vue2/lib/breadcrumbs.cjs.map +1 -0
- package/dist/vue2/lib/button-group.cjs +2 -0
- package/dist/vue2/lib/button-group.cjs.map +1 -0
- package/dist/vue2/lib/button.cjs +2 -0
- package/dist/vue2/lib/button.cjs.map +1 -0
- package/dist/vue2/lib/callbar-button-with-popover.cjs +2 -0
- package/dist/vue2/lib/callbar-button-with-popover.cjs.map +1 -0
- package/dist/vue2/lib/callbar-button-with-popover.js +2 -3
- package/dist/vue2/lib/callbar-button-with-popover.js.map +1 -1
- package/dist/vue2/lib/callbar-button.cjs +2 -0
- package/dist/vue2/lib/callbar-button.cjs.map +1 -0
- package/dist/vue2/lib/callbox.cjs +2 -0
- package/dist/vue2/lib/callbox.cjs.map +1 -0
- package/dist/vue2/lib/callbox.js +2 -3
- package/dist/vue2/lib/callbox.js.map +1 -1
- package/dist/vue2/lib/card.cjs +2 -0
- package/dist/vue2/lib/card.cjs.map +1 -0
- package/dist/vue2/lib/checkbox-group.cjs +2 -0
- package/dist/vue2/lib/checkbox-group.cjs.map +1 -0
- package/dist/vue2/lib/checkbox.cjs +2 -0
- package/dist/vue2/lib/checkbox.cjs.map +1 -0
- package/dist/vue2/lib/chip.cjs +2 -0
- package/dist/vue2/lib/chip.cjs.map +1 -0
- package/dist/vue2/lib/chip.js +2 -3
- package/dist/vue2/lib/chip.js.map +1 -1
- package/dist/vue2/lib/codeblock.cjs +3 -0
- package/dist/vue2/lib/codeblock.cjs.map +1 -0
- package/dist/vue2/lib/collapsible.cjs +2 -0
- package/dist/vue2/lib/collapsible.cjs.map +1 -0
- package/dist/vue2/lib/collapsible.js +2 -3
- package/dist/vue2/lib/collapsible.js.map +1 -1
- package/dist/vue2/lib/combobox-multi-select.cjs +2 -0
- package/dist/vue2/lib/combobox-multi-select.cjs.map +1 -0
- package/dist/vue2/lib/combobox-with-popover.cjs +2 -0
- package/dist/vue2/lib/combobox-with-popover.cjs.map +1 -0
- package/dist/vue2/lib/combobox-with-popover.js +1 -1
- package/dist/vue2/lib/combobox.cjs +2 -0
- package/dist/vue2/lib/combobox.cjs.map +1 -0
- package/dist/vue2/lib/constants.cjs +2 -0
- package/dist/vue2/lib/constants.cjs.map +1 -0
- package/dist/vue2/lib/contact-info.cjs +2 -0
- package/dist/vue2/lib/contact-info.cjs.map +1 -0
- package/dist/vue2/lib/contact-info.js +2 -3
- package/dist/vue2/lib/contact-info.js.map +1 -1
- package/dist/vue2/lib/contact-row.cjs +2 -0
- package/dist/vue2/lib/contact-row.cjs.map +1 -0
- package/dist/vue2/lib/datepicker.cjs +2 -0
- package/dist/vue2/lib/datepicker.cjs.map +1 -0
- package/dist/vue2/lib/datepicker.js +12 -13
- package/dist/vue2/lib/datepicker.js.map +1 -1
- package/dist/vue2/lib/dates.cjs +2 -0
- package/dist/vue2/lib/dates.cjs.map +1 -0
- package/dist/vue2/lib/description-list.cjs +2 -0
- package/dist/vue2/lib/description-list.cjs.map +1 -0
- package/dist/vue2/lib/dropdown.cjs +2 -0
- package/dist/vue2/lib/dropdown.cjs.map +1 -0
- package/dist/vue2/lib/dropdown.js +6 -7
- package/dist/vue2/lib/dropdown.js.map +1 -1
- package/dist/vue2/lib/editor.cjs +2 -0
- package/dist/vue2/lib/editor.cjs.map +1 -0
- package/dist/vue2/lib/emoji-picker.cjs +2 -0
- package/dist/vue2/lib/emoji-picker.cjs.map +1 -0
- package/dist/vue2/lib/emoji-picker.js +2 -3
- package/dist/vue2/lib/emoji-picker.js.map +1 -1
- package/dist/vue2/lib/emoji-row.cjs +2 -0
- package/dist/vue2/lib/emoji-row.cjs.map +1 -0
- package/dist/vue2/lib/emoji-text-wrapper.cjs +2 -0
- package/dist/vue2/lib/emoji-text-wrapper.cjs.map +1 -0
- package/dist/vue2/lib/emoji.cjs +2 -0
- package/dist/vue2/lib/emoji.cjs.map +1 -0
- package/dist/vue2/lib/feed-item-row.cjs +2 -0
- package/dist/vue2/lib/feed-item-row.cjs.map +1 -0
- package/dist/vue2/lib/feed-item-row.js +2 -3
- package/dist/vue2/lib/feed-item-row.js.map +1 -1
- package/dist/vue2/lib/feed-pill.cjs +2 -0
- package/dist/vue2/lib/feed-pill.cjs.map +1 -0
- package/dist/vue2/lib/feed-pill.js +2 -3
- package/dist/vue2/lib/feed-pill.js.map +1 -1
- package/dist/vue2/lib/general-row.cjs +2 -0
- package/dist/vue2/lib/general-row.cjs.map +1 -0
- package/dist/vue2/lib/group-row.cjs +2 -0
- package/dist/vue2/lib/group-row.cjs.map +1 -0
- package/dist/vue2/lib/group-row.js +1 -1
- package/dist/vue2/lib/grouped-chip.cjs +2 -0
- package/dist/vue2/lib/grouped-chip.cjs.map +1 -0
- package/dist/vue2/lib/grouped-chip.js +6 -7
- package/dist/vue2/lib/grouped-chip.js.map +1 -1
- package/dist/vue2/lib/hovercard.cjs +2 -0
- package/dist/vue2/lib/hovercard.cjs.map +1 -0
- package/dist/vue2/lib/hovercard.js +6 -7
- package/dist/vue2/lib/hovercard.js.map +1 -1
- package/dist/vue2/lib/icon.cjs +2 -0
- package/dist/vue2/lib/icon.cjs.map +1 -0
- package/dist/vue2/lib/icon.js +14 -38
- package/dist/vue2/lib/icon.js.map +1 -1
- package/dist/vue2/lib/image-viewer.cjs +2 -0
- package/dist/vue2/lib/image-viewer.cjs.map +1 -0
- package/dist/vue2/lib/image-viewer.js +11 -12
- package/dist/vue2/lib/image-viewer.js.map +1 -1
- package/dist/vue2/lib/input-group.cjs +2 -0
- package/dist/vue2/lib/input-group.cjs.map +1 -0
- package/dist/vue2/lib/input.cjs +2 -0
- package/dist/vue2/lib/input.cjs.map +1 -0
- package/dist/vue2/lib/item-layout.cjs +2 -0
- package/dist/vue2/lib/item-layout.cjs.map +1 -0
- package/dist/vue2/lib/ivr-node.cjs +2 -0
- package/dist/vue2/lib/ivr-node.cjs.map +1 -0
- package/dist/vue2/lib/ivr-node.js +4 -5
- package/dist/vue2/lib/ivr-node.js.map +1 -1
- package/dist/vue2/lib/keyboard-shortcut.cjs +2 -0
- package/dist/vue2/lib/keyboard-shortcut.cjs.map +1 -0
- package/dist/vue2/lib/keyboard-shortcut.js +4 -5
- package/dist/vue2/lib/keyboard-shortcut.js.map +1 -1
- package/dist/vue2/lib/lazy-show.cjs +2 -0
- package/dist/vue2/lib/lazy-show.cjs.map +1 -0
- package/dist/vue2/lib/link.cjs +2 -0
- package/dist/vue2/lib/link.cjs.map +1 -0
- package/dist/vue2/lib/list-item-group.cjs +2 -0
- package/dist/vue2/lib/list-item-group.cjs.map +1 -0
- package/dist/vue2/lib/list-item.cjs +2 -0
- package/dist/vue2/lib/list-item.cjs.map +1 -0
- package/dist/vue2/lib/list-item.js +2 -3
- package/dist/vue2/lib/list-item.js.map +1 -1
- package/dist/vue2/lib/message-input.cjs +2 -0
- package/dist/vue2/lib/message-input.cjs.map +1 -0
- package/dist/vue2/lib/message-input.js +89 -47
- package/dist/vue2/lib/message-input.js.map +1 -1
- package/dist/vue2/lib/mixins.cjs +2 -0
- package/dist/vue2/lib/mixins.cjs.map +1 -0
- package/dist/vue2/lib/modal.cjs +3 -0
- package/dist/vue2/lib/modal.cjs.map +1 -0
- package/dist/vue2/lib/modal.js +10 -11
- package/dist/vue2/lib/modal.js.map +1 -1
- package/dist/vue2/lib/notice.cjs +2 -0
- package/dist/vue2/lib/notice.cjs.map +1 -0
- package/dist/vue2/lib/notice.js +2 -3
- package/dist/vue2/lib/notice.js.map +1 -1
- package/dist/vue2/lib/pagination.cjs +2 -0
- package/dist/vue2/lib/pagination.cjs.map +1 -0
- package/dist/vue2/lib/pagination.js +2 -3
- package/dist/vue2/lib/pagination.js.map +1 -1
- package/dist/vue2/lib/popover.cjs +2 -0
- package/dist/vue2/lib/popover.cjs.map +1 -0
- package/dist/vue2/lib/popover.js +4 -5
- package/dist/vue2/lib/popover.js.map +1 -1
- package/dist/vue2/lib/presence.cjs +2 -0
- package/dist/vue2/lib/presence.cjs.map +1 -0
- package/dist/vue2/lib/radio-group.cjs +2 -0
- package/dist/vue2/lib/radio-group.cjs.map +1 -0
- package/dist/vue2/lib/radio.cjs +2 -0
- package/dist/vue2/lib/radio.cjs.map +1 -0
- package/dist/vue2/lib/rich-text-editor.cjs +2 -0
- package/dist/vue2/lib/rich-text-editor.cjs.map +1 -0
- package/dist/vue2/lib/rich-text-editor.js +106 -74
- package/dist/vue2/lib/rich-text-editor.js.map +1 -1
- package/dist/vue2/lib/root-layout.cjs +2 -0
- package/dist/vue2/lib/root-layout.cjs.map +1 -0
- package/dist/vue2/lib/select-menu.cjs +2 -0
- package/dist/vue2/lib/select-menu.cjs.map +1 -0
- package/dist/vue2/lib/settings-menu-button.cjs +2 -0
- package/dist/vue2/lib/settings-menu-button.cjs.map +1 -0
- package/dist/vue2/lib/settings-menu-button.js +2 -3
- package/dist/vue2/lib/settings-menu-button.js.map +1 -1
- package/dist/vue2/lib/skeleton.cjs +2 -0
- package/dist/vue2/lib/skeleton.cjs.map +1 -0
- package/dist/vue2/lib/stack.cjs +2 -0
- package/dist/vue2/lib/stack.cjs.map +1 -0
- package/dist/vue2/lib/tabs.cjs +2 -0
- package/dist/vue2/lib/tabs.cjs.map +1 -0
- package/dist/vue2/lib/time-pill.cjs +2 -0
- package/dist/vue2/lib/time-pill.cjs.map +1 -0
- package/dist/vue2/lib/toast.cjs +2 -0
- package/dist/vue2/lib/toast.cjs.map +1 -0
- package/dist/vue2/lib/toast.js +2 -3
- package/dist/vue2/lib/toast.js.map +1 -1
- package/dist/vue2/lib/toggle.cjs +2 -0
- package/dist/vue2/lib/toggle.cjs.map +1 -0
- package/dist/vue2/lib/tooltip-directive.cjs +2 -0
- package/dist/vue2/lib/tooltip-directive.cjs.map +1 -0
- package/dist/vue2/lib/tooltip.cjs +2 -0
- package/dist/vue2/lib/tooltip.cjs.map +1 -0
- package/dist/vue2/lib/top-banner-info.cjs +2 -0
- package/dist/vue2/lib/top-banner-info.cjs.map +1 -0
- package/dist/vue2/lib/unread-pill.cjs +2 -0
- package/dist/vue2/lib/unread-pill.cjs.map +1 -0
- package/dist/vue2/lib/unread-pill.js +3 -4
- package/dist/vue2/lib/unread-pill.js.map +1 -1
- package/dist/vue2/lib/utils.cjs +2 -0
- package/dist/vue2/lib/utils.cjs.map +1 -0
- package/dist/vue2/lib/validation-messages.cjs +2 -0
- package/dist/vue2/lib/validation-messages.cjs.map +1 -0
- package/dist/vue2/lib/validators.cjs +2 -0
- package/dist/vue2/lib/validators.cjs.map +1 -0
- package/dist/vue2/style.css +1 -1
- package/dist/vue2/types/components/avatar/avatar.vue.d.ts +1 -1
- package/dist/vue2/types/components/button/button.vue.d.ts +2 -2
- package/dist/vue2/types/components/card/card.vue.d.ts +1 -1
- package/dist/vue2/types/components/chip/chip.vue.d.ts +1 -1
- package/dist/vue2/types/components/collapsible/collapsible.vue.d.ts +2 -2
- package/dist/vue2/types/components/combobox/combobox.vue.d.ts +1 -1
- package/dist/vue2/types/components/dropdown/dropdown.vue.d.ts +1 -1
- package/dist/vue2/types/components/emoji/emoji.vue.d.ts +1 -1
- package/dist/vue2/types/components/icon/icon.vue.d.ts +2 -22
- package/dist/vue2/types/components/icon/icon.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/list_item_group/list_item_group.vue.d.ts +1 -1
- package/dist/vue2/types/components/modal/modal.vue.d.ts +2 -2
- package/dist/vue2/types/components/popover/popover_header_footer.vue.d.ts +1 -1
- package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +91 -1
- package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/vue2/types/components/skeleton/skeleton-list-item.vue.d.ts +1 -1
- package/dist/vue2/types/components/skeleton/skeleton-paragraph.vue.d.ts +3 -3
- package/dist/vue2/types/components/skeleton/skeleton-shape.vue.d.ts +2 -2
- package/dist/vue2/types/components/skeleton/skeleton-text.vue.d.ts +2 -2
- package/dist/vue2/types/components/skeleton/skeleton.vue.d.ts +1 -1
- package/dist/vue2/types/components/tooltip/tooltip.vue.d.ts +2 -2
- package/dist/vue2/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +1 -1
- package/dist/vue2/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -1
- package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +2 -2
- package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts +90 -0
- package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
- package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts +1 -1
- package/dist/vue2/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +1 -1
- package/dist/vue3/chunks/_plugin-vue_export-helper-6_y-gaV6.js +2 -0
- package/dist/vue3/chunks/_plugin-vue_export-helper-6_y-gaV6.js.map +1 -0
- package/dist/vue3/chunks/dropdown-UO3UJalk.js +2 -0
- package/dist/vue3/chunks/dropdown-UO3UJalk.js.map +1 -0
- package/dist/vue3/chunks/dropdown_constants-KHFvVI2L.js +2 -0
- package/dist/vue3/chunks/dropdown_constants-KHFvVI2L.js.map +1 -0
- package/dist/vue3/chunks/icon_constants-2S_OSQ1t.js +2 -0
- package/dist/vue3/chunks/icon_constants-2S_OSQ1t.js.map +1 -0
- package/dist/vue3/chunks/index-6tYeqbgP.js +3 -0
- package/dist/vue3/chunks/index-6tYeqbgP.js.map +1 -0
- package/dist/vue3/chunks/index-IBtQ5jRJ.js +2 -0
- package/dist/vue3/chunks/index-IBtQ5jRJ.js.map +1 -0
- package/dist/vue3/chunks/input-0Uksk4DP.js +2 -0
- package/dist/vue3/chunks/input-0Uksk4DP.js.map +1 -0
- package/dist/vue3/chunks/input_group-AS760Cp7.js +2 -0
- package/dist/vue3/chunks/input_group-AS760Cp7.js.map +1 -0
- package/dist/vue3/chunks/keyboard_list_navigation-N74Bpdq7.js +2 -0
- package/dist/vue3/chunks/keyboard_list_navigation-N74Bpdq7.js.map +1 -0
- package/dist/vue3/chunks/link_constants-Kn6kP4i1.js +2 -0
- package/dist/vue3/chunks/link_constants-Kn6kP4i1.js.map +1 -0
- package/dist/vue3/chunks/list_item_constants-Tsz5CO1m.js +2 -0
- package/dist/vue3/chunks/list_item_constants-Tsz5CO1m.js.map +1 -0
- package/dist/vue3/chunks/modal-qEzlo0Sj.js +2 -0
- package/dist/vue3/chunks/modal-qEzlo0Sj.js.map +1 -0
- package/dist/vue3/chunks/notice_action-jO199emq.js +2 -0
- package/dist/vue3/chunks/notice_action-jO199emq.js.map +1 -0
- package/dist/vue3/chunks/notice_constants-mC6al2Dm.js +2 -0
- package/dist/vue3/chunks/notice_constants-mC6al2Dm.js.map +1 -0
- package/dist/vue3/chunks/popover_constants-hOEhklvr.js +2 -0
- package/dist/vue3/chunks/popover_constants-hOEhklvr.js.map +1 -0
- package/dist/vue3/chunks/sr_only_close_button-iD7s1Pbj.js +3 -0
- package/dist/vue3/chunks/sr_only_close_button-iD7s1Pbj.js.map +1 -0
- package/dist/vue3/chunks/stack_constants-m9Ickqw0.js +2 -0
- package/dist/vue3/chunks/stack_constants-m9Ickqw0.js.map +1 -0
- package/dist/vue3/chunks/tab-at7WWglk.js +2 -0
- package/dist/vue3/chunks/tab-at7WWglk.js.map +1 -0
- package/dist/vue3/component-documentation.json +1 -1
- package/dist/vue3/dialtone-vue.cjs +2 -0
- package/dist/vue3/dialtone-vue.cjs.map +1 -0
- package/dist/vue3/lib/attachment-carousel.cjs +2 -0
- package/dist/vue3/lib/attachment-carousel.cjs.map +1 -0
- package/dist/vue3/lib/attachment-carousel.js +2 -3
- package/dist/vue3/lib/attachment-carousel.js.map +1 -1
- package/dist/vue3/lib/avatar.cjs +2 -0
- package/dist/vue3/lib/avatar.cjs.map +1 -0
- package/dist/vue3/lib/avatar.js +2 -3
- package/dist/vue3/lib/avatar.js.map +1 -1
- package/dist/vue3/lib/badge.cjs +2 -0
- package/dist/vue3/lib/badge.cjs.map +1 -0
- package/dist/vue3/lib/badge.js +2 -3
- package/dist/vue3/lib/badge.js.map +1 -1
- package/dist/vue3/lib/banner.cjs +3 -0
- package/dist/vue3/lib/banner.cjs.map +1 -0
- package/dist/vue3/lib/banner.js +6 -7
- package/dist/vue3/lib/banner.js.map +1 -1
- package/dist/vue3/lib/breadcrumbs.cjs +2 -0
- package/dist/vue3/lib/breadcrumbs.cjs.map +1 -0
- package/dist/vue3/lib/button-group.cjs +2 -0
- package/dist/vue3/lib/button-group.cjs.map +1 -0
- package/dist/vue3/lib/button.cjs +2 -0
- package/dist/vue3/lib/button.cjs.map +1 -0
- package/dist/vue3/lib/callbar-button-with-popover.cjs +2 -0
- package/dist/vue3/lib/callbar-button-with-popover.cjs.map +1 -0
- package/dist/vue3/lib/callbar-button-with-popover.js +9 -10
- package/dist/vue3/lib/callbar-button-with-popover.js.map +1 -1
- package/dist/vue3/lib/callbar-button.cjs +2 -0
- package/dist/vue3/lib/callbar-button.cjs.map +1 -0
- package/dist/vue3/lib/callbox.cjs +2 -0
- package/dist/vue3/lib/callbox.cjs.map +1 -0
- package/dist/vue3/lib/callbox.js +2 -3
- package/dist/vue3/lib/callbox.js.map +1 -1
- package/dist/vue3/lib/card.cjs +2 -0
- package/dist/vue3/lib/card.cjs.map +1 -0
- package/dist/vue3/lib/checkbox-group.cjs +2 -0
- package/dist/vue3/lib/checkbox-group.cjs.map +1 -0
- package/dist/vue3/lib/checkbox.cjs +2 -0
- package/dist/vue3/lib/checkbox.cjs.map +1 -0
- package/dist/vue3/lib/chip.cjs +2 -0
- package/dist/vue3/lib/chip.cjs.map +1 -0
- package/dist/vue3/lib/chip.js +10 -11
- package/dist/vue3/lib/chip.js.map +1 -1
- package/dist/vue3/lib/codeblock.cjs +3 -0
- package/dist/vue3/lib/codeblock.cjs.map +1 -0
- package/dist/vue3/lib/collapsible.cjs +2 -0
- package/dist/vue3/lib/collapsible.cjs.map +1 -0
- package/dist/vue3/lib/collapsible.js +7 -8
- package/dist/vue3/lib/collapsible.js.map +1 -1
- package/dist/vue3/lib/combobox-multi-select.cjs +2 -0
- package/dist/vue3/lib/combobox-multi-select.cjs.map +1 -0
- package/dist/vue3/lib/combobox-with-popover.cjs +2 -0
- package/dist/vue3/lib/combobox-with-popover.cjs.map +1 -0
- package/dist/vue3/lib/combobox.cjs +2 -0
- package/dist/vue3/lib/combobox.cjs.map +1 -0
- package/dist/vue3/lib/constants.cjs +2 -0
- package/dist/vue3/lib/constants.cjs.map +1 -0
- package/dist/vue3/lib/contact-info.cjs +2 -0
- package/dist/vue3/lib/contact-info.cjs.map +1 -0
- package/dist/vue3/lib/contact-info.js +2 -3
- package/dist/vue3/lib/contact-info.js.map +1 -1
- package/dist/vue3/lib/contact-row.cjs +2 -0
- package/dist/vue3/lib/contact-row.cjs.map +1 -0
- package/dist/vue3/lib/datepicker.cjs +2 -0
- package/dist/vue3/lib/datepicker.cjs.map +1 -0
- package/dist/vue3/lib/datepicker.js +12 -13
- package/dist/vue3/lib/datepicker.js.map +1 -1
- package/dist/vue3/lib/dates.cjs +2 -0
- package/dist/vue3/lib/dates.cjs.map +1 -0
- package/dist/vue3/lib/description-list.cjs +2 -0
- package/dist/vue3/lib/description-list.cjs.map +1 -0
- package/dist/vue3/lib/dropdown.cjs +2 -0
- package/dist/vue3/lib/dropdown.cjs.map +1 -0
- package/dist/vue3/lib/dropdown.js +6 -7
- package/dist/vue3/lib/dropdown.js.map +1 -1
- package/dist/vue3/lib/editor.cjs +2 -0
- package/dist/vue3/lib/editor.cjs.map +1 -0
- package/dist/vue3/lib/emoji-picker.cjs +2 -0
- package/dist/vue3/lib/emoji-picker.cjs.map +1 -0
- package/dist/vue3/lib/emoji-picker.js +2 -3
- package/dist/vue3/lib/emoji-picker.js.map +1 -1
- package/dist/vue3/lib/emoji-row.cjs +2 -0
- package/dist/vue3/lib/emoji-row.cjs.map +1 -0
- package/dist/vue3/lib/emoji-text-wrapper.cjs +2 -0
- package/dist/vue3/lib/emoji-text-wrapper.cjs.map +1 -0
- package/dist/vue3/lib/emoji.cjs +2 -0
- package/dist/vue3/lib/emoji.cjs.map +1 -0
- package/dist/vue3/lib/feed-item-row.cjs +2 -0
- package/dist/vue3/lib/feed-item-row.cjs.map +1 -0
- package/dist/vue3/lib/feed-item-row.js +11 -12
- package/dist/vue3/lib/feed-item-row.js.map +1 -1
- package/dist/vue3/lib/feed-pill.cjs +2 -0
- package/dist/vue3/lib/feed-pill.cjs.map +1 -0
- package/dist/vue3/lib/feed-pill.js +2 -3
- package/dist/vue3/lib/feed-pill.js.map +1 -1
- package/dist/vue3/lib/general-row.cjs +2 -0
- package/dist/vue3/lib/general-row.cjs.map +1 -0
- package/dist/vue3/lib/group-row.cjs +2 -0
- package/dist/vue3/lib/group-row.cjs.map +1 -0
- package/dist/vue3/lib/group-row.js +1 -1
- package/dist/vue3/lib/grouped-chip.cjs +2 -0
- package/dist/vue3/lib/grouped-chip.cjs.map +1 -0
- package/dist/vue3/lib/grouped-chip.js +5 -6
- package/dist/vue3/lib/grouped-chip.js.map +1 -1
- package/dist/vue3/lib/hovercard.cjs +2 -0
- package/dist/vue3/lib/hovercard.cjs.map +1 -0
- package/dist/vue3/lib/hovercard.js +7 -8
- package/dist/vue3/lib/hovercard.js.map +1 -1
- package/dist/vue3/lib/icon.cjs +2 -0
- package/dist/vue3/lib/icon.cjs.map +1 -0
- package/dist/vue3/lib/icon.js +20 -51
- package/dist/vue3/lib/icon.js.map +1 -1
- package/dist/vue3/lib/image-viewer.cjs +2 -0
- package/dist/vue3/lib/image-viewer.cjs.map +1 -0
- package/dist/vue3/lib/image-viewer.js +9 -10
- package/dist/vue3/lib/image-viewer.js.map +1 -1
- package/dist/vue3/lib/input-group.cjs +2 -0
- package/dist/vue3/lib/input-group.cjs.map +1 -0
- package/dist/vue3/lib/input.cjs +2 -0
- package/dist/vue3/lib/input.cjs.map +1 -0
- package/dist/vue3/lib/item-layout.cjs +2 -0
- package/dist/vue3/lib/item-layout.cjs.map +1 -0
- package/dist/vue3/lib/ivr-node.cjs +2 -0
- package/dist/vue3/lib/ivr-node.cjs.map +1 -0
- package/dist/vue3/lib/ivr-node.js +4 -5
- package/dist/vue3/lib/ivr-node.js.map +1 -1
- package/dist/vue3/lib/keyboard-shortcut.cjs +2 -0
- package/dist/vue3/lib/keyboard-shortcut.cjs.map +1 -0
- package/dist/vue3/lib/keyboard-shortcut.js +4 -5
- package/dist/vue3/lib/keyboard-shortcut.js.map +1 -1
- package/dist/vue3/lib/lazy-show.cjs +2 -0
- package/dist/vue3/lib/lazy-show.cjs.map +1 -0
- package/dist/vue3/lib/link.cjs +2 -0
- package/dist/vue3/lib/link.cjs.map +1 -0
- package/dist/vue3/lib/list-item-group.cjs +2 -0
- package/dist/vue3/lib/list-item-group.cjs.map +1 -0
- package/dist/vue3/lib/list-item.cjs +2 -0
- package/dist/vue3/lib/list-item.cjs.map +1 -0
- package/dist/vue3/lib/list-item.js +2 -3
- package/dist/vue3/lib/list-item.js.map +1 -1
- package/dist/vue3/lib/message-input.cjs +2 -0
- package/dist/vue3/lib/message-input.cjs.map +1 -0
- package/dist/vue3/lib/message-input.js +148 -100
- package/dist/vue3/lib/message-input.js.map +1 -1
- package/dist/vue3/lib/mixins.cjs +2 -0
- package/dist/vue3/lib/mixins.cjs.map +1 -0
- package/dist/vue3/lib/modal.cjs +3 -0
- package/dist/vue3/lib/modal.cjs.map +1 -0
- package/dist/vue3/lib/modal.js +11 -12
- package/dist/vue3/lib/modal.js.map +1 -1
- package/dist/vue3/lib/notice.cjs +2 -0
- package/dist/vue3/lib/notice.cjs.map +1 -0
- package/dist/vue3/lib/notice.js +2 -3
- package/dist/vue3/lib/notice.js.map +1 -1
- package/dist/vue3/lib/pagination.cjs +2 -0
- package/dist/vue3/lib/pagination.cjs.map +1 -0
- package/dist/vue3/lib/pagination.js +2 -3
- package/dist/vue3/lib/pagination.js.map +1 -1
- package/dist/vue3/lib/popover.cjs +2 -0
- package/dist/vue3/lib/popover.cjs.map +1 -0
- package/dist/vue3/lib/popover.js +4 -5
- package/dist/vue3/lib/popover.js.map +1 -1
- package/dist/vue3/lib/presence.cjs +2 -0
- package/dist/vue3/lib/presence.cjs.map +1 -0
- package/dist/vue3/lib/radio-group.cjs +2 -0
- package/dist/vue3/lib/radio-group.cjs.map +1 -0
- package/dist/vue3/lib/radio.cjs +2 -0
- package/dist/vue3/lib/radio.cjs.map +1 -0
- package/dist/vue3/lib/rich-text-editor.cjs +2 -0
- package/dist/vue3/lib/rich-text-editor.cjs.map +1 -0
- package/dist/vue3/lib/rich-text-editor.js +174 -142
- package/dist/vue3/lib/rich-text-editor.js.map +1 -1
- package/dist/vue3/lib/root-layout.cjs +2 -0
- package/dist/vue3/lib/root-layout.cjs.map +1 -0
- package/dist/vue3/lib/scroller.cjs +2 -0
- package/dist/vue3/lib/scroller.cjs.map +1 -0
- package/dist/vue3/lib/select-menu.cjs +2 -0
- package/dist/vue3/lib/select-menu.cjs.map +1 -0
- package/dist/vue3/lib/settings-menu-button.cjs +2 -0
- package/dist/vue3/lib/settings-menu-button.cjs.map +1 -0
- package/dist/vue3/lib/settings-menu-button.js +2 -3
- package/dist/vue3/lib/settings-menu-button.js.map +1 -1
- package/dist/vue3/lib/skeleton.cjs +2 -0
- package/dist/vue3/lib/skeleton.cjs.map +1 -0
- package/dist/vue3/lib/stack.cjs +2 -0
- package/dist/vue3/lib/stack.cjs.map +1 -0
- package/dist/vue3/lib/tabs.cjs +2 -0
- package/dist/vue3/lib/tabs.cjs.map +1 -0
- package/dist/vue3/lib/time-pill.cjs +2 -0
- package/dist/vue3/lib/time-pill.cjs.map +1 -0
- package/dist/vue3/lib/toast.cjs +2 -0
- package/dist/vue3/lib/toast.cjs.map +1 -0
- package/dist/vue3/lib/toast.js +2 -3
- package/dist/vue3/lib/toast.js.map +1 -1
- package/dist/vue3/lib/toggle.cjs +2 -0
- package/dist/vue3/lib/toggle.cjs.map +1 -0
- package/dist/vue3/lib/tooltip-directive.cjs +2 -0
- package/dist/vue3/lib/tooltip-directive.cjs.map +1 -0
- package/dist/vue3/lib/tooltip.cjs +2 -0
- package/dist/vue3/lib/tooltip.cjs.map +1 -0
- package/dist/vue3/lib/top-banner-info.cjs +2 -0
- package/dist/vue3/lib/top-banner-info.cjs.map +1 -0
- package/dist/vue3/lib/unread-pill.cjs +2 -0
- package/dist/vue3/lib/unread-pill.cjs.map +1 -0
- package/dist/vue3/lib/unread-pill.js +2 -3
- package/dist/vue3/lib/unread-pill.js.map +1 -1
- package/dist/vue3/lib/utils.cjs +2 -0
- package/dist/vue3/lib/utils.cjs.map +1 -0
- package/dist/vue3/lib/validation-messages.cjs +2 -0
- package/dist/vue3/lib/validation-messages.cjs.map +1 -0
- package/dist/vue3/lib/validators.cjs +2 -0
- package/dist/vue3/lib/validators.cjs.map +1 -0
- package/dist/vue3/style.css +1 -1
- package/dist/vue3/types/components/avatar/avatar.vue.d.ts +1 -1
- package/dist/vue3/types/components/button/button.vue.d.ts +2 -2
- package/dist/vue3/types/components/card/card.vue.d.ts +1 -1
- package/dist/vue3/types/components/chip/chip.vue.d.ts +1 -1
- package/dist/vue3/types/components/collapsible/collapsible.vue.d.ts +2 -2
- package/dist/vue3/types/components/combobox/combobox.vue.d.ts +1 -1
- package/dist/vue3/types/components/dropdown/dropdown.vue.d.ts +1 -1
- package/dist/vue3/types/components/emoji/emoji.vue.d.ts +1 -1
- package/dist/vue3/types/components/icon/icon.vue.d.ts +1 -19
- package/dist/vue3/types/components/icon/icon.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/list_item_group/list_item_group.vue.d.ts +1 -1
- package/dist/vue3/types/components/modal/modal.vue.d.ts +2 -2
- package/dist/vue3/types/components/popover/popover_header_footer.vue.d.ts +1 -1
- package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +91 -1
- package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/vue3/types/components/root_layout/root_layout.vue.d.ts +1 -1
- package/dist/vue3/types/components/skeleton/skeleton-list-item.vue.d.ts +1 -1
- package/dist/vue3/types/components/skeleton/skeleton-paragraph.vue.d.ts +3 -3
- package/dist/vue3/types/components/skeleton/skeleton-shape.vue.d.ts +2 -2
- package/dist/vue3/types/components/skeleton/skeleton-text.vue.d.ts +2 -2
- package/dist/vue3/types/components/skeleton/skeleton.vue.d.ts +1 -1
- package/dist/vue3/types/components/tooltip/tooltip.vue.d.ts +2 -2
- package/dist/vue3/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +1 -1
- package/dist/vue3/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -1
- package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +2 -2
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts +90 -0
- package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
- package/dist/vue3/types/recipes/leftbar/general_row/general_row.vue.d.ts +1 -1
- package/dist/vue3/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +1 -1
- package/package.json +18 -9
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { resolveComponent as
|
|
1
|
+
import { resolveComponent as s, openBlock as m, createElementBlock as k, normalizeClass as w, withKeys as C, withModifiers as v, createElementVNode as u, normalizeStyle as L, createVNode as r, mergeProps as S, renderSlot as I, createBlock as c, withCtx as l, createCommentVNode as d, withDirectives as D, toDisplayString as h, vShow as F, createSlots as E } from "vue";
|
|
2
2
|
import { _ as T } from "../chunks/_plugin-vue_export-helper-hUChTQA_.js";
|
|
3
3
|
import { DtButton as x } from "./button.js";
|
|
4
4
|
import { DtEmojiPicker as O } from "./emoji-picker.js";
|
|
5
5
|
import { DtIcon as _ } from "./icon.js";
|
|
6
6
|
import { DtInput as V } from "./input.js";
|
|
7
|
-
import { DtPopover as
|
|
8
|
-
import { DtRichTextEditor as
|
|
7
|
+
import { DtPopover as q } from "./popover.js";
|
|
8
|
+
import { DtRichTextEditor as M, RICH_TEXT_EDITOR_AUTOFOCUS_TYPES as U, RICH_TEXT_EDITOR_OUTPUT_FORMATS as R } from "./rich-text-editor.js";
|
|
9
9
|
import { DtTooltip as z } from "./tooltip.js";
|
|
10
10
|
import "./utils.js";
|
|
11
11
|
import "./constants.js";
|
|
@@ -18,7 +18,6 @@ import "./validation-messages.js";
|
|
|
18
18
|
import "@dialpad/dialtone-icons/vue3";
|
|
19
19
|
import "../chunks/icon_constants-OpYAAKwF.js";
|
|
20
20
|
import "@dialpad/dialtone-icons/icons.json";
|
|
21
|
-
import "./skeleton.js";
|
|
22
21
|
import "../chunks/popover_constants-qjlEkroB.js";
|
|
23
22
|
import "tippy.js";
|
|
24
23
|
import "./lazy-show.js";
|
|
@@ -44,6 +43,7 @@ import "@tiptap/extension-text-align";
|
|
|
44
43
|
import "@tiptap/core";
|
|
45
44
|
import "../chunks/index-mRmwpCBG.js";
|
|
46
45
|
import "emoji-regex";
|
|
46
|
+
import "./skeleton.js";
|
|
47
47
|
import "@tiptap/pm/state";
|
|
48
48
|
import "@tiptap/suggestion";
|
|
49
49
|
import "./list-item.js";
|
|
@@ -62,8 +62,8 @@ const A = {
|
|
|
62
62
|
DtEmojiPicker: O,
|
|
63
63
|
DtIcon: _,
|
|
64
64
|
DtInput: V,
|
|
65
|
-
DtPopover:
|
|
66
|
-
DtRichTextEditor:
|
|
65
|
+
DtPopover: q,
|
|
66
|
+
DtRichTextEditor: M,
|
|
67
67
|
DtTooltip: z
|
|
68
68
|
},
|
|
69
69
|
mixins: [],
|
|
@@ -115,8 +115,8 @@ const A = {
|
|
|
115
115
|
autoFocus: {
|
|
116
116
|
type: [Boolean, String, Number],
|
|
117
117
|
default: !1,
|
|
118
|
-
validator(
|
|
119
|
-
return typeof
|
|
118
|
+
validator(i) {
|
|
119
|
+
return typeof i == "string" ? U.includes(i) : !0;
|
|
120
120
|
}
|
|
121
121
|
},
|
|
122
122
|
/**
|
|
@@ -128,8 +128,8 @@ const A = {
|
|
|
128
128
|
outputFormat: {
|
|
129
129
|
type: String,
|
|
130
130
|
default: "text",
|
|
131
|
-
validator(
|
|
132
|
-
return
|
|
131
|
+
validator(i) {
|
|
132
|
+
return R.includes(i);
|
|
133
133
|
}
|
|
134
134
|
},
|
|
135
135
|
/**
|
|
@@ -172,14 +172,14 @@ const A = {
|
|
|
172
172
|
emojiPickerProps: {
|
|
173
173
|
type: Object,
|
|
174
174
|
default: () => ({}),
|
|
175
|
-
validate(
|
|
175
|
+
validate(i) {
|
|
176
176
|
return [
|
|
177
177
|
"searchNoResultsLabel",
|
|
178
178
|
"searchResultsLabel",
|
|
179
179
|
"searchPlaceholderLabel",
|
|
180
180
|
"skinSelectorButtonTooltipLabel",
|
|
181
181
|
"tabSetLabels"
|
|
182
|
-
].every((e) =>
|
|
182
|
+
].every((e) => i[e] != null);
|
|
183
183
|
}
|
|
184
184
|
},
|
|
185
185
|
/**
|
|
@@ -236,6 +236,48 @@ const A = {
|
|
|
236
236
|
mentionSuggestion: {
|
|
237
237
|
type: Object,
|
|
238
238
|
default: null
|
|
239
|
+
},
|
|
240
|
+
/**
|
|
241
|
+
* Whether the input allows for block quote.
|
|
242
|
+
*/
|
|
243
|
+
allowBlockquote: {
|
|
244
|
+
type: Boolean,
|
|
245
|
+
default: !0
|
|
246
|
+
},
|
|
247
|
+
/**
|
|
248
|
+
* Whether the input allows for bold to be introduced in the text.
|
|
249
|
+
*/
|
|
250
|
+
allowBold: {
|
|
251
|
+
type: Boolean,
|
|
252
|
+
default: !0
|
|
253
|
+
},
|
|
254
|
+
/**
|
|
255
|
+
* Whether the input allows for bullet list to be introduced in the text.
|
|
256
|
+
*/
|
|
257
|
+
allowBulletList: {
|
|
258
|
+
type: Boolean,
|
|
259
|
+
default: !0
|
|
260
|
+
},
|
|
261
|
+
/**
|
|
262
|
+
* Whether the input allows for italic to be introduced in the text.
|
|
263
|
+
*/
|
|
264
|
+
allowItalic: {
|
|
265
|
+
type: Boolean,
|
|
266
|
+
default: !0
|
|
267
|
+
},
|
|
268
|
+
/**
|
|
269
|
+
* Whether the input allows for strike to be introduced in the text.
|
|
270
|
+
*/
|
|
271
|
+
allowStrike: {
|
|
272
|
+
type: Boolean,
|
|
273
|
+
default: !0
|
|
274
|
+
},
|
|
275
|
+
/**
|
|
276
|
+
* Whether the input allows for underline to be introduced in the text.
|
|
277
|
+
*/
|
|
278
|
+
allowUnderline: {
|
|
279
|
+
type: Boolean,
|
|
280
|
+
default: !0
|
|
239
281
|
}
|
|
240
282
|
},
|
|
241
283
|
emits: [
|
|
@@ -341,40 +383,40 @@ const A = {
|
|
|
341
383
|
}
|
|
342
384
|
},
|
|
343
385
|
watch: {
|
|
344
|
-
modelValue(
|
|
345
|
-
this.internalInputValue =
|
|
386
|
+
modelValue(i) {
|
|
387
|
+
this.internalInputValue = i;
|
|
346
388
|
}
|
|
347
389
|
},
|
|
348
390
|
methods: {
|
|
349
|
-
onDrag(
|
|
350
|
-
|
|
351
|
-
},
|
|
352
|
-
onDrop(
|
|
353
|
-
|
|
354
|
-
const e =
|
|
355
|
-
this.$emit("add-media",
|
|
356
|
-
},
|
|
357
|
-
onPaste(
|
|
358
|
-
if (
|
|
359
|
-
|
|
360
|
-
const e = [...
|
|
391
|
+
onDrag(i) {
|
|
392
|
+
i.stopPropagation(), i.preventDefault();
|
|
393
|
+
},
|
|
394
|
+
onDrop(i) {
|
|
395
|
+
i.stopPropagation(), i.preventDefault();
|
|
396
|
+
const e = i.dataTransfer, t = Array.from(e.files);
|
|
397
|
+
this.$emit("add-media", t);
|
|
398
|
+
},
|
|
399
|
+
onPaste(i) {
|
|
400
|
+
if (i.clipboardData.files.length) {
|
|
401
|
+
i.stopPropagation(), i.preventDefault();
|
|
402
|
+
const e = [...i.clipboardData.files];
|
|
361
403
|
this.$emit("paste-media", e);
|
|
362
404
|
}
|
|
363
405
|
},
|
|
364
|
-
onSkinTone(
|
|
365
|
-
this.$emit("skin-tone",
|
|
406
|
+
onSkinTone(i) {
|
|
407
|
+
this.$emit("skin-tone", i);
|
|
366
408
|
},
|
|
367
|
-
onSelectEmoji(
|
|
368
|
-
if (!
|
|
409
|
+
onSelectEmoji(i) {
|
|
410
|
+
if (!i) {
|
|
369
411
|
this.emojiPickerOpened = !1;
|
|
370
412
|
return;
|
|
371
413
|
}
|
|
372
414
|
this.$refs.richTextEditor.editor.commands.insertContent({
|
|
373
415
|
type: "emoji",
|
|
374
416
|
attrs: {
|
|
375
|
-
code:
|
|
417
|
+
code: i.shortname
|
|
376
418
|
}
|
|
377
|
-
}), this.emojiPickerOpened = !1, this.$emit("selected-emoji",
|
|
419
|
+
}), this.emojiPickerOpened = !1, this.$emit("selected-emoji", i);
|
|
378
420
|
},
|
|
379
421
|
onSelectImage() {
|
|
380
422
|
this.$refs.messageInputImageUpload.$refs.input.click();
|
|
@@ -391,24 +433,24 @@ const A = {
|
|
|
391
433
|
onCancel() {
|
|
392
434
|
this.$emit("cancel");
|
|
393
435
|
},
|
|
394
|
-
onFocus(
|
|
436
|
+
onFocus(i) {
|
|
395
437
|
var e;
|
|
396
|
-
this.hasFocus = !0, (e = this.$refs.richTextEditor) == null || e.focusEditor(), this.$emit("focus",
|
|
438
|
+
this.hasFocus = !0, (e = this.$refs.richTextEditor) == null || e.focusEditor(), this.$emit("focus", i);
|
|
397
439
|
},
|
|
398
|
-
onBlur(
|
|
399
|
-
this.hasFocus = !1, this.$emit("blur",
|
|
440
|
+
onBlur(i) {
|
|
441
|
+
this.hasFocus = !1, this.$emit("blur", i);
|
|
400
442
|
},
|
|
401
|
-
onInput(
|
|
402
|
-
this.$emit("input",
|
|
443
|
+
onInput(i) {
|
|
444
|
+
this.$emit("input", i);
|
|
403
445
|
}
|
|
404
446
|
}
|
|
405
447
|
}, H = { class: "d-d-flex d-jc-space-between d-mx8 d-my4" }, N = { class: "d-d-flex" }, K = { class: "d-d-flex" }, W = { key: 0 };
|
|
406
|
-
function X(
|
|
407
|
-
const
|
|
448
|
+
function X(i, e, t, Y, a, o) {
|
|
449
|
+
const P = s("dt-rich-text-editor"), g = s("dt-icon"), p = s("dt-button"), j = s("dt-input"), f = s("dt-tooltip"), y = s("dt-emoji-picker"), B = s("dt-popover");
|
|
408
450
|
return m(), k("div", {
|
|
409
451
|
"data-qa": "dt-message-input",
|
|
410
452
|
role: "presentation",
|
|
411
|
-
class:
|
|
453
|
+
class: w([
|
|
412
454
|
"d-d-flex",
|
|
413
455
|
"d-fd-column",
|
|
414
456
|
"d-bar8",
|
|
@@ -419,68 +461,74 @@ function X(t, e, i, Y, a, o) {
|
|
|
419
461
|
]),
|
|
420
462
|
onClick: e[15] || (e[15] = (n) => {
|
|
421
463
|
var b;
|
|
422
|
-
return (b =
|
|
464
|
+
return (b = i.$refs.richTextEditor) == null ? void 0 : b.focusEditor();
|
|
423
465
|
}),
|
|
424
466
|
onDragEnter: e[16] || (e[16] = (...n) => o.onDrag && o.onDrag(...n)),
|
|
425
467
|
onDragOver: e[17] || (e[17] = (...n) => o.onDrag && o.onDrag(...n)),
|
|
426
468
|
onDrop: e[18] || (e[18] = (...n) => o.onDrop && o.onDrop(...n)),
|
|
427
|
-
onKeydown: e[19] || (e[19] = v(
|
|
469
|
+
onKeydown: e[19] || (e[19] = C(v((...n) => o.onSend && o.onSend(...n), ["exact"]), ["enter"])),
|
|
428
470
|
onPaste: e[20] || (e[20] = (...n) => o.onPaste && o.onPaste(...n))
|
|
429
471
|
}, [
|
|
430
472
|
u("div", {
|
|
431
473
|
class: "d-of-auto d-mx16 d-mt8 d-mb4",
|
|
432
|
-
style:
|
|
474
|
+
style: L({ "max-height": t.maxHeight })
|
|
433
475
|
}, [
|
|
434
|
-
|
|
476
|
+
r(P, S({
|
|
435
477
|
ref: "richTextEditor",
|
|
436
478
|
modelValue: a.internalInputValue,
|
|
437
479
|
"onUpdate:modelValue": e[0] || (e[0] = (n) => a.internalInputValue = n),
|
|
438
|
-
|
|
439
|
-
"
|
|
440
|
-
"
|
|
441
|
-
"
|
|
442
|
-
"
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
"
|
|
446
|
-
|
|
480
|
+
"allow-blockquote": t.allowBlockquote,
|
|
481
|
+
"allow-bold": t.allowBold,
|
|
482
|
+
"allow-bullet-list": t.allowBulletList,
|
|
483
|
+
"allow-italic": t.allowItalic,
|
|
484
|
+
"allow-strike": t.allowStrike,
|
|
485
|
+
"allow-underline": t.allowUnderline,
|
|
486
|
+
editable: t.editable,
|
|
487
|
+
"input-aria-label": t.inputAriaLabel,
|
|
488
|
+
"input-class": t.inputClass,
|
|
489
|
+
"output-format": t.outputFormat,
|
|
490
|
+
"auto-focus": t.autoFocus,
|
|
491
|
+
link: t.link,
|
|
492
|
+
placeholder: t.placeholder,
|
|
493
|
+
"mention-suggestion": t.mentionSuggestion
|
|
494
|
+
}, i.$attrs, {
|
|
447
495
|
onFocus: o.onFocus,
|
|
448
496
|
onBlur: o.onBlur,
|
|
449
497
|
onInput: e[1] || (e[1] = (n) => o.onInput(n))
|
|
450
|
-
}), null, 16, ["modelValue", "editable", "input-aria-label", "input-class", "output-format", "auto-focus", "link", "placeholder", "mention-suggestion", "onFocus", "onBlur"])
|
|
498
|
+
}), null, 16, ["modelValue", "allow-blockquote", "allow-bold", "allow-bullet-list", "allow-italic", "allow-strike", "allow-underline", "editable", "input-aria-label", "input-class", "output-format", "auto-focus", "link", "placeholder", "mention-suggestion", "onFocus", "onBlur"])
|
|
451
499
|
], 4),
|
|
452
|
-
|
|
500
|
+
I(i.$slots, "middle"),
|
|
453
501
|
u("section", H, [
|
|
454
502
|
u("div", N, [
|
|
455
|
-
|
|
503
|
+
t.showImagePicker ? (m(), c(f, {
|
|
456
504
|
key: 0,
|
|
457
505
|
placement: "top-start",
|
|
458
|
-
message:
|
|
506
|
+
message: t.showImagePicker.tooltipLabel,
|
|
459
507
|
offset: [-4, -4]
|
|
460
508
|
}, {
|
|
461
|
-
anchor:
|
|
462
|
-
|
|
509
|
+
anchor: l(() => [
|
|
510
|
+
r(p, {
|
|
463
511
|
"data-qa": "dt-message-input-image-btn",
|
|
464
512
|
size: "sm",
|
|
465
513
|
circle: "",
|
|
466
514
|
kind: a.imagePickerFocus ? "default" : "muted",
|
|
467
515
|
importance: "clear",
|
|
468
|
-
"aria-label":
|
|
516
|
+
"aria-label": t.showImagePicker.ariaLabel,
|
|
469
517
|
onClick: o.onSelectImage,
|
|
470
518
|
onMouseenter: e[2] || (e[2] = (n) => a.imagePickerFocus = !0),
|
|
471
519
|
onMouseleave: e[3] || (e[3] = (n) => a.imagePickerFocus = !1),
|
|
472
520
|
onFocus: e[4] || (e[4] = (n) => a.imagePickerFocus = !0),
|
|
473
521
|
onBlur: e[5] || (e[5] = (n) => a.imagePickerFocus = !1)
|
|
474
522
|
}, {
|
|
475
|
-
icon:
|
|
476
|
-
|
|
523
|
+
icon: l(() => [
|
|
524
|
+
r(g, {
|
|
477
525
|
name: "image",
|
|
478
526
|
size: "300"
|
|
479
527
|
})
|
|
480
528
|
]),
|
|
481
529
|
_: 1
|
|
482
530
|
}, 8, ["kind", "aria-label", "onClick"]),
|
|
483
|
-
|
|
531
|
+
r(j, {
|
|
484
532
|
ref: "messageInputImageUpload",
|
|
485
533
|
"data-qa": "dt-message-input-image-input",
|
|
486
534
|
type: "file",
|
|
@@ -492,7 +540,7 @@ function X(t, e, i, Y, a, o) {
|
|
|
492
540
|
]),
|
|
493
541
|
_: 1
|
|
494
542
|
}, 8, ["message"])) : d("", !0),
|
|
495
|
-
|
|
543
|
+
t.showEmojiPicker ? (m(), c(B, {
|
|
496
544
|
key: 1,
|
|
497
545
|
"data-qa": "dt-message-input-emoji-picker-popover",
|
|
498
546
|
open: a.emojiPickerOpened,
|
|
@@ -502,19 +550,19 @@ function X(t, e, i, Y, a, o) {
|
|
|
502
550
|
a.emojiPickerOpened = n;
|
|
503
551
|
})
|
|
504
552
|
}, {
|
|
505
|
-
anchor:
|
|
506
|
-
|
|
507
|
-
message:
|
|
553
|
+
anchor: l(() => [
|
|
554
|
+
r(f, {
|
|
555
|
+
message: t.emojiTooltipMessage,
|
|
508
556
|
offset: [0, -4]
|
|
509
557
|
}, {
|
|
510
|
-
anchor:
|
|
511
|
-
|
|
558
|
+
anchor: l(() => [
|
|
559
|
+
r(p, {
|
|
512
560
|
"data-qa": "dt-message-input-emoji-picker-btn",
|
|
513
561
|
size: "sm",
|
|
514
562
|
circle: "",
|
|
515
563
|
kind: o.emojiPickerHovered ? "default" : "muted",
|
|
516
564
|
importance: "clear",
|
|
517
|
-
"aria-label":
|
|
565
|
+
"aria-label": t.emojiButtonAriaLabel,
|
|
518
566
|
offset: [0, 0],
|
|
519
567
|
onClick: o.toggleEmojiPicker,
|
|
520
568
|
onMouseenter: e[6] || (e[6] = (n) => a.emojiPickerFocus = !0),
|
|
@@ -522,8 +570,8 @@ function X(t, e, i, Y, a, o) {
|
|
|
522
570
|
onFocus: e[8] || (e[8] = (n) => a.emojiPickerFocus = !0),
|
|
523
571
|
onBlur: e[9] || (e[9] = (n) => a.emojiPickerFocus = !1)
|
|
524
572
|
}, {
|
|
525
|
-
icon:
|
|
526
|
-
|
|
573
|
+
icon: l(() => [
|
|
574
|
+
r(g, {
|
|
527
575
|
name: o.emojiPickerHovered ? "very-satisfied" : "satisfied",
|
|
528
576
|
size: "300"
|
|
529
577
|
}, null, 8, ["name"])
|
|
@@ -534,8 +582,8 @@ function X(t, e, i, Y, a, o) {
|
|
|
534
582
|
_: 1
|
|
535
583
|
}, 8, ["message"])
|
|
536
584
|
]),
|
|
537
|
-
content:
|
|
538
|
-
|
|
585
|
+
content: l(() => [
|
|
586
|
+
r(y, S(t.emojiPickerProps, {
|
|
539
587
|
onSkinTone: o.onSkinTone,
|
|
540
588
|
onSelectedEmoji: o.onSelectEmoji
|
|
541
589
|
}), null, 16, ["onSkinTone", "onSelectedEmoji"])
|
|
@@ -544,60 +592,60 @@ function X(t, e, i, Y, a, o) {
|
|
|
544
592
|
}, 8, ["open"])) : d("", !0)
|
|
545
593
|
]),
|
|
546
594
|
u("div", K, [
|
|
547
|
-
|
|
595
|
+
t.showCharacterLimit ? (m(), c(f, {
|
|
548
596
|
key: 0,
|
|
549
597
|
class: "dt-message-input--remaining-char-tooltip",
|
|
550
598
|
placement: "top-end",
|
|
551
599
|
enabled: o.characterLimitTooltipEnabled,
|
|
552
|
-
message:
|
|
600
|
+
message: t.showCharacterLimit.message,
|
|
553
601
|
offset: [10, -8]
|
|
554
602
|
}, {
|
|
555
|
-
anchor:
|
|
556
|
-
|
|
603
|
+
anchor: l(() => [
|
|
604
|
+
D(u("p", {
|
|
557
605
|
class: "d-fc-error d-mr16 dt-message-input--remaining-char",
|
|
558
606
|
"data-qa": "dt-message-input-character-limit"
|
|
559
|
-
}, h(
|
|
560
|
-
[
|
|
607
|
+
}, h(t.showCharacterLimit.count - o.inputLength), 513), [
|
|
608
|
+
[F, o.displayCharacterLimitWarning]
|
|
561
609
|
])
|
|
562
610
|
]),
|
|
563
611
|
_: 1
|
|
564
612
|
}, 8, ["enabled", "message"])) : d("", !0),
|
|
565
|
-
|
|
613
|
+
t.showCancel ? (m(), c(p, {
|
|
566
614
|
key: 1,
|
|
567
615
|
"data-qa": "dt-message-input-cancel-button",
|
|
568
616
|
class: "dt-message-input--cancel-button",
|
|
569
617
|
size: "sm",
|
|
570
618
|
kind: "muted",
|
|
571
619
|
importance: "clear",
|
|
572
|
-
"aria-label":
|
|
620
|
+
"aria-label": t.showCancel.ariaLabel,
|
|
573
621
|
onClick: o.onCancel
|
|
574
622
|
}, {
|
|
575
|
-
default:
|
|
576
|
-
u("p", null, h(
|
|
623
|
+
default: l(() => [
|
|
624
|
+
u("p", null, h(t.showCancel.text), 1)
|
|
577
625
|
]),
|
|
578
626
|
_: 1
|
|
579
627
|
}, 8, ["aria-label", "onClick"])) : d("", !0),
|
|
580
|
-
|
|
628
|
+
t.showSend ? (m(), c(f, {
|
|
581
629
|
key: 2,
|
|
582
630
|
placement: "top-end",
|
|
583
|
-
enabled: !
|
|
584
|
-
message:
|
|
631
|
+
enabled: !t.showSend,
|
|
632
|
+
message: t.showSend.tooltipLabel,
|
|
585
633
|
show: !o.isSendDisabled && a.sendButtonFocus,
|
|
586
634
|
offset: [6, -8]
|
|
587
635
|
}, {
|
|
588
|
-
anchor:
|
|
589
|
-
|
|
636
|
+
anchor: l(() => [
|
|
637
|
+
r(p, {
|
|
590
638
|
"data-qa": "dt-message-input-send-btn",
|
|
591
639
|
size: "sm",
|
|
592
640
|
kind: "default",
|
|
593
641
|
importance: "primary",
|
|
594
|
-
class:
|
|
595
|
-
"d-btn--circle",
|
|
642
|
+
class: w([
|
|
596
643
|
{
|
|
597
|
-
"message-input-button__disabled d-fc-muted": o.isSendDisabled
|
|
644
|
+
"message-input-button__disabled d-fc-muted": o.isSendDisabled,
|
|
645
|
+
"d-btn--circle": t.showSend.icon
|
|
598
646
|
}
|
|
599
647
|
]),
|
|
600
|
-
"aria-label":
|
|
648
|
+
"aria-label": t.showSend.ariaLabel,
|
|
601
649
|
"aria-disabled": o.isSendDisabled,
|
|
602
650
|
onClick: o.onSend,
|
|
603
651
|
onMouseenter: e[11] || (e[11] = (n) => a.sendButtonFocus = !0),
|
|
@@ -605,16 +653,16 @@ function X(t, e, i, Y, a, o) {
|
|
|
605
653
|
onFocus: e[13] || (e[13] = (n) => a.sendButtonFocus = !0),
|
|
606
654
|
onBlur: e[14] || (e[14] = (n) => a.sendButtonFocus = !1)
|
|
607
655
|
}, E({
|
|
608
|
-
default:
|
|
609
|
-
|
|
656
|
+
default: l(() => [
|
|
657
|
+
t.showSend.text ? (m(), k("p", W, h(t.showSend.text), 1)) : d("", !0)
|
|
610
658
|
]),
|
|
611
659
|
_: 2
|
|
612
660
|
}, [
|
|
613
|
-
|
|
661
|
+
t.showSend.icon ? {
|
|
614
662
|
name: "icon",
|
|
615
|
-
fn:
|
|
616
|
-
|
|
617
|
-
name:
|
|
663
|
+
fn: l(() => [
|
|
664
|
+
r(g, {
|
|
665
|
+
name: t.showSend.icon,
|
|
618
666
|
size: "300"
|
|
619
667
|
}, null, 8, ["name"])
|
|
620
668
|
]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-input.js","sources":["../../recipes/conversation_view/message_input/message_input.vue"],"sourcesContent":["<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <div\n data-qa=\"dt-message-input\"\n role=\"presentation\"\n :class=\"['d-d-flex', 'd-fd-column', 'd-bar8', 'd-baw1', 'd-ba', 'd-c-text',\n { 'd-bc-bold d-bs-sm': hasFocus, 'd-bc-default': !hasFocus }]\"\n @click=\"$refs.richTextEditor?.focusEditor()\"\n @drag-enter=\"onDrag\"\n @drag-over=\"onDrag\"\n @drop=\"onDrop\"\n @keydown.enter.exact=\"onSend\"\n @paste=\"onPaste\"\n >\n <!-- Some wrapper to restrict the height and show the scrollbar -->\n <div\n class=\"d-of-auto d-mx16 d-mt8 d-mb4\"\n :style=\"{ 'max-height': maxHeight }\"\n >\n <dt-rich-text-editor\n ref=\"richTextEditor\"\n v-model=\"internalInputValue\"\n :editable=\"editable\"\n :input-aria-label=\"inputAriaLabel\"\n :input-class=\"inputClass\"\n :output-format=\"outputFormat\"\n :auto-focus=\"autoFocus\"\n :link=\"link\"\n :placeholder=\"placeholder\"\n :mention-suggestion=\"mentionSuggestion\"\n v-bind=\"$attrs\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @input=\"onInput($event)\"\n />\n </div>\n <!-- @slot Slot for attachment carousel -->\n <slot name=\"middle\" />\n <!-- Section for the bottom UI -->\n <section class=\"d-d-flex d-jc-space-between d-mx8 d-my4\">\n <!-- Left content -->\n <div class=\"d-d-flex\">\n <dt-tooltip\n v-if=\"showImagePicker\"\n placement=\"top-start\"\n :message=\"showImagePicker.tooltipLabel\"\n :offset=\"[-4, -4]\"\n >\n <template #anchor>\n <dt-button\n data-qa=\"dt-message-input-image-btn\"\n size=\"sm\"\n circle\n :kind=\"imagePickerFocus ? 'default' : 'muted'\"\n importance=\"clear\"\n :aria-label=\"showImagePicker.ariaLabel\"\n @click=\"onSelectImage\"\n @mouseenter=\"imagePickerFocus = true\"\n @mouseleave=\"imagePickerFocus = false\"\n @focus=\"imagePickerFocus = true\"\n @blur=\"imagePickerFocus = false\"\n >\n <template #icon>\n <dt-icon\n name=\"image\"\n size=\"300\"\n />\n </template>\n </dt-button>\n <dt-input\n ref=\"messageInputImageUpload\"\n data-qa=\"dt-message-input-image-input\"\n type=\"file\"\n class=\"d-ps-absolute\"\n multiple\n hidden\n @input=\"onImageUpload\"\n />\n </template>\n </dt-tooltip>\n <dt-popover\n v-if=\"showEmojiPicker\"\n data-qa=\"dt-message-input-emoji-picker-popover\"\n :open=\"emojiPickerOpened\"\n initial-focus-element=\"#searchInput\"\n padding=\"none\"\n @opened=\"(open) => { emojiPickerOpened = open }\"\n >\n <template #anchor>\n <dt-tooltip\n :message=\"emojiTooltipMessage\"\n :offset=\"[0, -4]\"\n >\n <template #anchor>\n <dt-button\n data-qa=\"dt-message-input-emoji-picker-btn\"\n size=\"sm\"\n circle\n :kind=\"emojiPickerHovered ? 'default' : 'muted'\"\n importance=\"clear\"\n :aria-label=\"emojiButtonAriaLabel\"\n :offset=\"[0, 0]\"\n @click=\"toggleEmojiPicker\"\n @mouseenter=\"emojiPickerFocus = true\"\n @mouseleave=\"emojiPickerFocus = false\"\n @focus=\"emojiPickerFocus = true\"\n @blur=\"emojiPickerFocus = false\"\n >\n <template #icon>\n <dt-icon\n :name=\"!emojiPickerHovered ? 'satisfied' : 'very-satisfied'\"\n size=\"300\"\n />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </template>\n <template #content>\n <dt-emoji-picker\n v-bind=\"emojiPickerProps\"\n @skin-tone=\"onSkinTone\"\n @selected-emoji=\"onSelectEmoji\"\n />\n </template>\n </dt-popover>\n </div>\n <!-- Right content -->\n <div class=\"d-d-flex\">\n <!-- Optionally displayed remaining character counter -->\n <dt-tooltip\n v-if=\"Boolean(showCharacterLimit)\"\n class=\"dt-message-input--remaining-char-tooltip\"\n placement=\"top-end\"\n :enabled=\"characterLimitTooltipEnabled\"\n :message=\"showCharacterLimit.message\"\n :offset=\"[10, -8]\"\n >\n <template #anchor>\n <p\n v-show=\"displayCharacterLimitWarning\"\n class=\"d-fc-error d-mr16 dt-message-input--remaining-char\"\n data-qa=\"dt-message-input-character-limit\"\n >\n {{ showCharacterLimit.count - inputLength }}\n </p>\n </template>\n </dt-tooltip>\n\n <!-- Cancel button for edit mode -->\n <dt-button\n v-if=\"showCancel\"\n data-qa=\"dt-message-input-cancel-button\"\n class=\"dt-message-input--cancel-button\"\n size=\"sm\"\n kind=\"muted\"\n importance=\"clear\"\n :aria-label=\"showCancel.ariaLabel\"\n @click=\"onCancel\"\n >\n <p>{{ showCancel.text }}</p>\n </dt-button>\n\n <!-- Send button -->\n <dt-tooltip\n v-if=\"showSend\"\n placement=\"top-end\"\n :enabled=\"!showSend\"\n :message=\"showSend.tooltipLabel\"\n :show=\"!isSendDisabled && sendButtonFocus\"\n :offset=\"[6, -8]\"\n >\n <template #anchor>\n <!-- Right positioned UI - send button -->\n <dt-button\n data-qa=\"dt-message-input-send-btn\"\n size=\"sm\"\n kind=\"default\"\n importance=\"primary\"\n :class=\"[\n 'd-btn--circle',\n {\n 'message-input-button__disabled d-fc-muted': isSendDisabled,\n },\n ]\"\n :aria-label=\"showSend.ariaLabel\"\n :aria-disabled=\"isSendDisabled\"\n @click=\"onSend\"\n @mouseenter=\"sendButtonFocus = true\"\n @mouseleave=\"sendButtonFocus = false\"\n @focus=\"sendButtonFocus = true\"\n @blur=\"sendButtonFocus = false\"\n >\n <template\n v-if=\"showSend.icon\"\n #icon\n >\n <dt-icon\n :name=\"showSend.icon\"\n size=\"300\"\n />\n </template>\n <template\n v-if=\"showSend.text\"\n >\n <p>{{ showSend.text }}</p>\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </div>\n </section>\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport {\n DtRichTextEditor,\n RICH_TEXT_EDITOR_OUTPUT_FORMATS,\n RICH_TEXT_EDITOR_AUTOFOCUS_TYPES,\n} from '@/components/rich_text_editor';\nimport { DtButton } from '@/components/button';\nimport { DtIcon } from '@/components/icon';\nimport { DtEmojiPicker } from '@/components/emoji_picker';\nimport { DtPopover } from '@/components/popover';\nimport { DtInput } from '@/components/input';\nimport { DtTooltip } from '@/components/tooltip';\n\nexport default {\n name: 'DtRecipeMessageInput',\n\n components: {\n DtButton,\n DtEmojiPicker,\n DtIcon,\n DtInput,\n DtPopover,\n DtRichTextEditor,\n DtTooltip,\n },\n\n mixins: [],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Value of the input. The object format should match TipTap's JSON\n * document structure: https://tiptap.dev/guide/output#option-1-json\n */\n modelValue: {\n type: [Object, String],\n default: '',\n },\n\n /**\n * Whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Descriptive label for the input element\n */\n inputAriaLabel: {\n type: String,\n required: true,\n default: '',\n },\n\n /**\n * Additional class name for the input element. Only accepts a String value\n * because this is passed to the editor via options. For multiple classes,\n * join them into one string, e.g. \"d-p8 d-hmx96\"\n */\n inputClass: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the input should receive focus after the component has been\n * mounted. Either one of `start`, `end`, `all` or a Boolean or a Number.\n * - `start` Sets the focus to the beginning of the input\n * - `end` Sets the focus to the end of the input\n * - `all` Selects the whole contents of the input\n * - `Number` Sets the focus to a specific position in the input\n * - `true` Defaults to `start`\n * - `false` Disables autofocus\n * @values true, false, start, end, all, number\n */\n autoFocus: {\n type: [Boolean, String, Number],\n default: false,\n validator (autoFocus) {\n if (typeof autoFocus === 'string') {\n return RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(autoFocus);\n }\n return true;\n },\n },\n\n /**\n * The output format that the editor uses when emitting the \"@input\" event.\n * One of `text`, `json`, `html`. See https://tiptap.dev/guide/output for\n * examples.\n * @values text, json, html\n */\n outputFormat: {\n type: String,\n default: 'text',\n validator (outputFormat) {\n return RICH_TEXT_EDITOR_OUTPUT_FORMATS.includes(outputFormat);\n },\n },\n\n /**\n * Enables the Link extension and optionally passes configurations to it\n */\n link: {\n type: [Boolean, Object],\n default: false,\n },\n\n /**\n * Placeholder text\n */\n placeholder: {\n type: String,\n default: '',\n },\n\n /**\n * Disable Send Button\n */\n disableSend: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Content area needs to dynamically adjust height based on the conversation area height.\n * can be vh|px|rem|em|%\n */\n maxHeight: {\n type: String,\n default: 'unset',\n },\n\n // Emoji picker props\n showEmojiPicker: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Props to pass into the emoji picker.\n */\n emojiPickerProps: {\n type: Object,\n default: () => ({}),\n validate (emojiPickerProps) {\n return [\n 'searchNoResultsLabel',\n 'searchResultsLabel',\n 'searchPlaceholderLabel',\n 'skinSelectorButtonTooltipLabel',\n 'tabSetLabels',\n ].every(prop => emojiPickerProps[prop] != null);\n },\n },\n\n /**\n * Emoji button tooltip label\n */\n emojiTooltipMessage: {\n type: String,\n default: 'Emoji',\n },\n\n // Aria label for buttons\n /**\n * Emoji button aria label\n */\n emojiButtonAriaLabel: {\n type: String,\n default: 'emoji button',\n },\n\n /**\n * Enable character Limit warning\n */\n showCharacterLimit: {\n type: [Boolean, Object],\n default: () => ({ count: 1500, warning: 500, message: '' }),\n },\n\n showImagePicker: {\n type: [Boolean, Object],\n default: () => ({ tooltipLabel: 'Attach Image', ariaLabel: 'image button' }),\n },\n\n /**\n * Send button defaults.\n */\n showSend: {\n type: [Boolean, Object],\n default: () => ({ icon: 'send' }),\n },\n\n /**\n * Cancel button defaults.\n */\n showCancel: {\n type: [Boolean, Object],\n default: () => ({ text: 'Cancel' }),\n },\n\n /**\n * suggestion object containing the items query function.\n * The valid keys passed into this object can be found here: https://tiptap.dev/api/utilities/suggestion\n *\n * The only required key is the items function which is used to query the contacts for suggestion.\n * items({ query }) => { return [ContactObject]; }\n * ContactObject format:\n * { name: string, avatarSrc: string, id: string }\n *\n * When null, it does not add the plugin.\n */\n mentionSuggestion: {\n type: Object,\n default: null,\n },\n },\n\n emits: [\n /**\n * Fires when send button is clicked\n *\n * @event submit\n * @type {String}\n */\n 'submit',\n\n /**\n * Fires when media is selected from image button\n *\n * @event select-media\n * @type {Array}\n */\n 'select-media',\n\n /**\n * Fires when media is dropped into the message input\n *\n * @event add-media\n * @type {Array}\n */\n 'add-media',\n\n /**\n * Fires when media is pasted into the message input\n *\n * @event paste-media\n * @type {Array}\n */\n 'paste-media',\n\n /**\n * Fires when cancel button is pressed (only on edit mode)\n *\n * @event cancel\n * @type {Boolean}\n */\n 'cancel',\n\n /**\n * Fires when skin tone is selected from the emoji picker\n *\n * @event skin-tone\n * @type {String}\n */\n 'skin-tone',\n\n /**\n * Fires when emoji is selected from the emoji picker\n *\n * @event selected-emoji\n * @type {String}\n */\n 'selected-emoji',\n\n /**\n * Native focus event\n * @event input\n * @type {String|JSON}\n */\n 'focus',\n\n /**\n * Native blur event\n * @event input\n * @type {String|JSON}\n */\n 'blur',\n\n /**\n * Native input event\n * @event input\n * @type {String|JSON}\n */\n 'input',\n ],\n\n data () {\n return {\n internalInputValue: this.modelValue, // internal input content\n hasFocus: false,\n imagePickerFocus: false,\n emojiPickerFocus: false,\n sendButtonFocus: false,\n emojiPickerOpened: false,\n };\n },\n\n computed: {\n inputLength () {\n return this.internalInputValue.length;\n },\n\n displayCharacterLimitWarning () {\n return Boolean(this.showCharacterLimit) &&\n ((this.showCharacterLimit.count - this.inputLength) <= this.showCharacterLimit.warning);\n },\n\n characterLimitTooltipEnabled () {\n return this.showCharacterLimit.message && (this.showCharacterLimit.count - this.inputLength < 0);\n },\n\n isSendDisabled () {\n return this.disableSend ||\n (this.showCharacterLimit && this.inputLength > this.showCharacterLimit.count);\n },\n\n computedCloseButtonProps () {\n return {\n ariaLabel: 'Close',\n };\n },\n\n emojiPickerHovered () {\n return this.emojiPickerFocus || this.emojiPickerOpened;\n },\n },\n\n watch: {\n modelValue (newValue) {\n this.internalInputValue = newValue;\n },\n },\n\n methods: {\n onDrag (e) {\n e.stopPropagation();\n e.preventDefault();\n },\n\n onDrop (e) {\n e.stopPropagation();\n e.preventDefault();\n\n const dt = e.dataTransfer;\n const files = Array.from(dt.files);\n this.$emit('add-media', files);\n },\n\n onPaste (e) {\n if (e.clipboardData.files.length) {\n e.stopPropagation();\n e.preventDefault();\n const files = [...e.clipboardData.files];\n this.$emit('paste-media', files);\n }\n },\n\n onSkinTone (skinTone) {\n this.$emit('skin-tone', skinTone);\n },\n\n onSelectEmoji (emoji) {\n if (!emoji) {\n this.emojiPickerOpened = false;\n return;\n }\n\n // Insert emoji into the editor\n this.$refs.richTextEditor.editor.commands.insertContent({\n type: 'emoji',\n attrs: {\n code: emoji.shortname,\n },\n });\n this.emojiPickerOpened = false;\n this.$emit('selected-emoji', emoji);\n },\n\n onSelectImage () {\n this.$refs.messageInputImageUpload.$refs.input.click();\n },\n\n onImageUpload () {\n this.$emit('select-media', this.$refs.messageInputImageUpload.$refs.input.files);\n },\n\n toggleEmojiPicker () {\n this.emojiPickerOpened = !this.emojiPickerOpened;\n },\n\n onSend () {\n if (this.isSendDisabled) {\n return;\n }\n this.$emit('submit', this.internalInputValue);\n },\n\n onCancel () {\n this.$emit('cancel');\n },\n\n onFocus (event) {\n this.hasFocus = true;\n this.$refs.richTextEditor?.focusEditor();\n this.$emit('focus', event);\n },\n\n onBlur (event) {\n this.hasFocus = false;\n this.$emit('blur', event);\n },\n\n onInput (event) {\n this.$emit('input', event);\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.dt-message-input--remaining-char-tooltip {\n margin-top: auto;\n margin-bottom: auto;\n}\n.dt-message-input--remaining-char {\n font-size: 1.2rem;\n}\n\n.message-input-button__disabled {\n background-color: unset;\n color: var(--theme-sidebar-icon-color);\n cursor: default;\n}\n\n.dt-message-input--cancel-button {\n margin-right: var(--dt-space-300);\n}\n</style>\n"],"names":["_sfc_main","DtButton","DtEmojiPicker","DtIcon","DtInput","DtPopover","DtRichTextEditor","DtTooltip","autoFocus","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","outputFormat","RICH_TEXT_EDITOR_OUTPUT_FORMATS","emojiPickerProps","prop","newValue","e","dt","files","skinTone","emoji","event","_a","_hoisted_1","_hoisted_2","_hoisted_3","_createElementBlock","_normalizeClass","$data","_cache","$event","_ctx","$options","args","_createElementVNode","$props","_createVNode","_component_dt_rich_text_editor","_mergeProps","_renderSlot","_createBlock","_component_dt_tooltip","_component_dt_button","_component_dt_icon","_component_dt_input","_component_dt_popover","open","_component_dt_emoji_picker","_toDisplayString","_hoisted_4"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqOA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,UAAAC;AAAA,mBACAC;AAAAA,IACA,QAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,WAAAC;AAAA,EACD;AAAA,EAED,QAAQ,CAAE;AAAA,EAEV,cAAc;AAAA,EAEd,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,YAAY;AAAA,MACV,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaD,WAAW;AAAA,MACT,MAAM,CAAC,SAAS,QAAQ,MAAM;AAAA,MAC9B,SAAS;AAAA,MACT,UAAWC,GAAW;AACpB,eAAI,OAAOA,KAAc,WAChBC,EAAiC,SAASD,CAAS,IAErD;AAAA,MACR;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,UAAWE,GAAc;AACvB,eAAOC,EAAgC,SAASD,CAAY;AAAA,MAC7D;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKD,MAAM;AAAA,MACJ,MAAM,CAAC,SAAS,MAAM;AAAA,MACtB,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA,IAGD,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,MAChB,SAAUE,GAAkB;AAC1B,eAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF,EAAE,MAAM,CAAAC,MAAQD,EAAiBC,CAAI,KAAK,IAAI;AAAA,MAC/C;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKD,qBAAqB;AAAA,MACnB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMD,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,oBAAoB;AAAA,MAClB,MAAM,CAAC,SAAS,MAAM;AAAA,MACtB,SAAS,OAAO,EAAE,OAAO,MAAM,SAAS,KAAK,SAAS;IACvD;AAAA,IAED,iBAAiB;AAAA,MACf,MAAM,CAAC,SAAS,MAAM;AAAA,MACtB,SAAS,OAAO,EAAE,cAAc,gBAAgB,WAAW,eAAa;AAAA,IACzE;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACR,MAAM,CAAC,SAAS,MAAM;AAAA,MACtB,SAAS,OAAO,EAAE,MAAM;IACzB;AAAA;AAAA;AAAA;AAAA,IAKD,YAAY;AAAA,MACV,MAAM,CAAC,SAAS,MAAM;AAAA,MACtB,SAAS,OAAO,EAAE,MAAM;IACzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaD,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACD;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL,oBAAoB,KAAK;AAAA;AAAA,MACzB,UAAU;AAAA,MACV,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,mBAAmB;AAAA;EAEtB;AAAA,EAED,UAAU;AAAA,IACR,cAAe;AACb,aAAO,KAAK,mBAAmB;AAAA,IAChC;AAAA,IAED,+BAAgC;AAC9B,aAAO,EAAQ,KAAK,sBAChB,KAAK,mBAAmB,QAAQ,KAAK,eAAgB,KAAK,mBAAmB;AAAA,IAClF;AAAA,IAED,+BAAgC;AAC9B,aAAO,KAAK,mBAAmB,WAAY,KAAK,mBAAmB,QAAQ,KAAK,cAAc;AAAA,IAC/F;AAAA,IAED,iBAAkB;AAChB,aAAO,KAAK,eACX,KAAK,sBAAsB,KAAK,cAAc,KAAK,mBAAmB;AAAA,IACxE;AAAA,IAED,2BAA4B;AAC1B,aAAO;AAAA,QACL,WAAW;AAAA;IAEd;AAAA,IAED,qBAAsB;AACpB,aAAO,KAAK,oBAAoB,KAAK;AAAA,IACtC;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL,WAAYC,GAAU;AACpB,WAAK,qBAAqBA;AAAA,IAC3B;AAAA,EACF;AAAA,EAED,SAAS;AAAA,IACP,OAAQC,GAAG;AACT,MAAAA,EAAE,gBAAe,GACjBA,EAAE,eAAc;AAAA,IACjB;AAAA,IAED,OAAQA,GAAG;AACT,MAAAA,EAAE,gBAAe,GACjBA,EAAE,eAAc;AAEhB,YAAMC,IAAKD,EAAE,cACPE,IAAQ,MAAM,KAAKD,EAAG,KAAK;AACjC,WAAK,MAAM,aAAaC,CAAK;AAAA,IAC9B;AAAA,IAED,QAASF,GAAG;AACV,UAAIA,EAAE,cAAc,MAAM,QAAQ;AAChC,QAAAA,EAAE,gBAAe,GACjBA,EAAE,eAAc;AAChB,cAAME,IAAQ,CAAC,GAAGF,EAAE,cAAc,KAAK;AACvC,aAAK,MAAM,eAAeE,CAAK;AAAA,MACjC;AAAA,IACD;AAAA,IAED,WAAYC,GAAU;AACpB,WAAK,MAAM,aAAaA,CAAQ;AAAA,IACjC;AAAA,IAED,cAAeC,GAAO;AACpB,UAAI,CAACA,GAAO;AACV,aAAK,oBAAoB;AACzB;AAAA,MACF;AAGA,WAAK,MAAM,eAAe,OAAO,SAAS,cAAc;AAAA,QACtD,MAAM;AAAA,QACN,OAAO;AAAA,UACL,MAAMA,EAAM;AAAA,QACb;AAAA,MACH,CAAC,GACD,KAAK,oBAAoB,IACzB,KAAK,MAAM,kBAAkBA,CAAK;AAAA,IACnC;AAAA,IAED,gBAAiB;AACf,WAAK,MAAM,wBAAwB,MAAM,MAAM,MAAK;AAAA,IACrD;AAAA,IAED,gBAAiB;AACf,WAAK,MAAM,gBAAgB,KAAK,MAAM,wBAAwB,MAAM,MAAM,KAAK;AAAA,IAChF;AAAA,IAED,oBAAqB;AACnB,WAAK,oBAAoB,CAAC,KAAK;AAAA,IAChC;AAAA,IAED,SAAU;AACR,MAAI,KAAK,kBAGT,KAAK,MAAM,UAAU,KAAK,kBAAkB;AAAA,IAC7C;AAAA,IAED,WAAY;AACV,WAAK,MAAM,QAAQ;AAAA,IACpB;AAAA,IAED,QAASC,GAAO;;AACd,WAAK,WAAW,KAChBC,IAAA,KAAK,MAAM,mBAAX,QAAAA,EAA2B,eAC3B,KAAK,MAAM,SAASD,CAAK;AAAA,IAC1B;AAAA,IAED,OAAQA,GAAO;AACb,WAAK,WAAW,IAChB,KAAK,MAAM,QAAQA,CAAK;AAAA,IACzB;AAAA,IAED,QAASA,GAAO;AACd,WAAK,MAAM,SAASA,CAAK;AAAA,IAC1B;AAAA,EACF;AACH,GAhmBaE,IAAA,EAAA,OAAM,0CAAyC,GAEjDC,IAAA,EAAA,OAAM,WAAU,GAuFhBC,IAAA,EAAA,OAAM,WAAU;;;cA9HzBC,EAkNM,OAAA;AAAA,IAjNJ,WAAQ;AAAA,IACR,MAAK;AAAA,IACJ,OAAKC,EAAA;AAAA,MAAA;AAAA,MAAA;AAAA,MAAA;AAAA,MAAA;AAAA,MAAA;AAAA,MAAA;AAAA,MAA0G,EAAA,qBAAAC,EAAA,2BAA2BA,EAAQ,SAAA;AAAA,IAAA,CAAA;AAAA,IAElJ,SAAOC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA,CAAAC,MAAA;;AAAA,cAAAR,IAAAS,EAAA,MAAM,mBAAN,gBAAAT,EAAsB;AAAA;AAAA,IAC7B,yCAAYU,EAAM,UAAAA,EAAA,OAAA,GAAAC,CAAA;AAAA,IAClB,wCAAWD,EAAM,UAAAA,EAAA,OAAA,GAAAC,CAAA;AAAA,IACjB,oCAAMD,EAAM,UAAAA,EAAA,OAAA,GAAAC,CAAA;AAAA,IACZ,2CAAqBD,EAAM,UAAAA,EAAA,OAAA,GAAAC,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,CAAA,OAAA,CAAA;AAAA,IAC3B,qCAAOD,EAAO,WAAAA,EAAA,QAAA,GAAAC,CAAA;AAAA;IAGfC,EAoBM,OAAA;AAAA,MAnBJ,OAAM;AAAA,MACL,yBAAuBC,EAAS,UAAA,CAAA;AAAA;MAEjCC,EAeEC,GAfFC,EAeE;AAAA,QAdA,KAAI;AAAA,oBACKV,EAAkB;AAAA,sDAAlBA,EAAkB,qBAAAE;AAAA,QAC1B,UAAUK,EAAQ;AAAA,QAClB,oBAAkBA,EAAc;AAAA,QAChC,eAAaA,EAAU;AAAA,QACvB,iBAAeA,EAAY;AAAA,QAC3B,cAAYA,EAAS;AAAA,QACrB,MAAMA,EAAI;AAAA,QACV,aAAaA,EAAW;AAAA,QACxB,sBAAoBA,EAAiB;AAAA,SAC9BJ,EAAM,QAAA;AAAA,QACb,SAAOC,EAAO;AAAA,QACd,QAAMA,EAAM;AAAA,QACZ,SAAKH,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAEE,EAAO,QAACF,CAAM;AAAA;;IAI1BS,EAAsBR,EAAA,QAAA,QAAA;AAAA,IAEtBG,EA4KU,WA5KVX,GA4KU;AAAA,MA1KRW,EAqFM,OArFNV,GAqFM;AAAA,QAnFIW,EAAe,wBADvBK,EAqCaC,GAAA;AAAA;UAnCX,WAAU;AAAA,UACT,SAASN,EAAe,gBAAC;AAAA,UACzB,QAAQ,CAAQ,IAAA,EAAA;AAAA;UAEN,UACT,MAmBY;AAAA,YAnBZC,EAmBYM,GAAA;AAAA,cAlBV,WAAQ;AAAA,cACR,MAAK;AAAA,cACL,QAAA;AAAA,cACC,MAAMd,EAAgB,mBAAA,YAAA;AAAA,cACvB,YAAW;AAAA,cACV,cAAYO,EAAe,gBAAC;AAAA,cAC5B,SAAOH,EAAa;AAAA,cACpB,qCAAYJ,EAAgB,mBAAA;AAAA,cAC5B,qCAAYA,EAAgB,mBAAA;AAAA,cAC5B,gCAAOA,EAAgB,mBAAA;AAAA,cACvB,+BAAMA,EAAgB,mBAAA;AAAA;cAEZ,QACT,MAGE;AAAA,gBAHFQ,EAGEO,GAAA;AAAA,kBAFA,MAAK;AAAA,kBACL,MAAK;AAAA;;;;YAIXP,EAQEQ,GAAA;AAAA,cAPA,KAAI;AAAA,cACJ,WAAQ;AAAA,cACR,MAAK;AAAA,cACL,OAAM;AAAA,cACN,UAAA;AAAA,cACA,QAAA;AAAA,cACC,SAAOZ,EAAa;AAAA;;;;QAKnBG,EAAe,wBADvBK,EA6CaK,GAAA;AAAA;UA3CX,WAAQ;AAAA,UACP,MAAMjB,EAAiB;AAAA,UACxB,yBAAsB;AAAA,UACtB,SAAQ;AAAA,UACP,UAASC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA,CAAAiB,MAAW;AAAA,YAAAlB,EAAA,oBAAoBkB;AAAA,UAAI;AAAA;UAElC,UACT,MA2Ba;AAAA,YA3BbV,EA2BaK,GAAA;AAAA,cA1BV,SAASN,EAAmB;AAAA,cAC5B,QAAQ,CAAO,GAAA,EAAA;AAAA;cAEL,UACT,MAoBY;AAAA,gBApBZC,EAoBYM,GAAA;AAAA,kBAnBV,WAAQ;AAAA,kBACR,MAAK;AAAA,kBACL,QAAA;AAAA,kBACC,MAAMV,EAAkB,qBAAA,YAAA;AAAA,kBACzB,YAAW;AAAA,kBACV,cAAYG,EAAoB;AAAA,kBAChC,QAAQ,CAAM,GAAA,CAAA;AAAA,kBACd,SAAOH,EAAiB;AAAA,kBACxB,qCAAYJ,EAAgB,mBAAA;AAAA,kBAC5B,qCAAYA,EAAgB,mBAAA;AAAA,kBAC5B,gCAAOA,EAAgB,mBAAA;AAAA,kBACvB,+BAAMA,EAAgB,mBAAA;AAAA;kBAEZ,QACT,MAGE;AAAA,oBAHFQ,EAGEO,GAAA;AAAA,sBAFC,MAAOX,EAAkB,qBAAA,mBAAA;AAAA,sBAC1B,MAAK;AAAA;;;;;;;;UAON,WACT,MAIE;AAAA,YAJFI,EAIEW,GAJFT,EAIEH,EAHwB,kBAAA;AAAA,cACvB,YAAWH,EAAU;AAAA,cACrB,iBAAgBA,EAAa;AAAA;;;;;MAMtCE,EAkFM,OAlFNT,GAkFM;AAAA,QA/EYU,EAAkB,2BADlCK,EAiBaC,GAAA;AAAA;UAfX,OAAM;AAAA,UACN,WAAU;AAAA,UACT,SAAST,EAA4B;AAAA,UACrC,SAASG,EAAkB,mBAAC;AAAA,UAC5B,QAAQ,CAAQ,IAAA,EAAA;AAAA;UAEN,UACT,MAMI;AAAA,cANJD,EAMI,KAAA;AAAA,cAJF,OAAM;AAAA,cACN,WAAQ;AAAA,iBAELC,EAAkB,mBAAC,QAAQH,EAAW,WAAA,GAAA,GAAA,GAAA;AAAA,kBAJjCA,EAA4B,4BAAA;AAAA;;;;QAWlCG,EAAU,mBADlBK,EAWYE,GAAA;AAAA;UATV,WAAQ;AAAA,UACR,OAAM;AAAA,UACN,MAAK;AAAA,UACL,MAAK;AAAA,UACL,YAAW;AAAA,UACV,cAAYP,EAAU,WAAC;AAAA,UACvB,SAAOH,EAAQ;AAAA;qBAEhB,MAA4B;AAAA,YAA5BE,EAA4B,KAAA,MAAAc,EAAtBb,EAAU,WAAC,IAAI,GAAA,CAAA;AAAA;;;QAKfA,EAAQ,iBADhBK,EA6CaC,GAAA;AAAA;UA3CX,WAAU;AAAA,UACT,UAAUN,EAAQ;AAAA,UAClB,SAASA,EAAQ,SAAC;AAAA,UAClB,MAAI,CAAGH,EAAc,kBAAIJ,EAAe;AAAA,UACxC,QAAQ,CAAO,GAAA,EAAA;AAAA;UAEL,UAET,MAiCY;AAAA,YAjCZQ,EAiCYM,GAAA;AAAA,cAhCV,WAAQ;AAAA,cACR,MAAK;AAAA,cACL,MAAK;AAAA,cACL,YAAW;AAAA,cACV,OAAKf,EAAA;AAAA;;+DAAsHK,EAAc;AAAA;;cAMzI,cAAYG,EAAQ,SAAC;AAAA,cACrB,iBAAeH,EAAc;AAAA,cAC7B,SAAOA,EAAM;AAAA,cACb,uCAAYJ,EAAe,kBAAA;AAAA,cAC3B,uCAAYA,EAAe,kBAAA;AAAA,cAC3B,kCAAOA,EAAe,kBAAA;AAAA,cACtB,iCAAMA,EAAe,kBAAA;AAAA;yBAWtB,MAIW;AAAA,gBAHHO,EAAA,SAAS,aAEfT,EAA0B,KAAAuB,GAAAD,EAApBb,EAAQ,SAAC,IAAI,GAAA,CAAA;;;;cAXbA,EAAA,SAAS;sBACd;AAAA,sBAED,MAGE;AAAA,kBAHFC,EAGEO,GAAA;AAAA,oBAFC,MAAMR,EAAQ,SAAC;AAAA,oBAChB,MAAK;AAAA;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"message-input.js","sources":["../../recipes/conversation_view/message_input/message_input.vue"],"sourcesContent":["<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <div\n data-qa=\"dt-message-input\"\n role=\"presentation\"\n :class=\"['d-d-flex', 'd-fd-column', 'd-bar8', 'd-baw1', 'd-ba', 'd-c-text',\n { 'd-bc-bold d-bs-sm': hasFocus, 'd-bc-default': !hasFocus }]\"\n @click=\"$refs.richTextEditor?.focusEditor()\"\n @drag-enter=\"onDrag\"\n @drag-over=\"onDrag\"\n @drop=\"onDrop\"\n @keydown.enter.exact=\"onSend\"\n @paste=\"onPaste\"\n >\n <!-- Some wrapper to restrict the height and show the scrollbar -->\n <div\n class=\"d-of-auto d-mx16 d-mt8 d-mb4\"\n :style=\"{ 'max-height': maxHeight }\"\n >\n <dt-rich-text-editor\n ref=\"richTextEditor\"\n v-model=\"internalInputValue\"\n :allow-blockquote=\"allowBlockquote\"\n :allow-bold=\"allowBold\"\n :allow-bullet-list=\"allowBulletList\"\n :allow-italic=\"allowItalic\"\n :allow-strike=\"allowStrike\"\n :allow-underline=\"allowUnderline\"\n :editable=\"editable\"\n :input-aria-label=\"inputAriaLabel\"\n :input-class=\"inputClass\"\n :output-format=\"outputFormat\"\n :auto-focus=\"autoFocus\"\n :link=\"link\"\n :placeholder=\"placeholder\"\n :mention-suggestion=\"mentionSuggestion\"\n v-bind=\"$attrs\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @input=\"onInput($event)\"\n />\n </div>\n <!-- @slot Slot for attachment carousel -->\n <slot name=\"middle\" />\n <!-- Section for the bottom UI -->\n <section class=\"d-d-flex d-jc-space-between d-mx8 d-my4\">\n <!-- Left content -->\n <div class=\"d-d-flex\">\n <dt-tooltip\n v-if=\"showImagePicker\"\n placement=\"top-start\"\n :message=\"showImagePicker.tooltipLabel\"\n :offset=\"[-4, -4]\"\n >\n <template #anchor>\n <dt-button\n data-qa=\"dt-message-input-image-btn\"\n size=\"sm\"\n circle\n :kind=\"imagePickerFocus ? 'default' : 'muted'\"\n importance=\"clear\"\n :aria-label=\"showImagePicker.ariaLabel\"\n @click=\"onSelectImage\"\n @mouseenter=\"imagePickerFocus = true\"\n @mouseleave=\"imagePickerFocus = false\"\n @focus=\"imagePickerFocus = true\"\n @blur=\"imagePickerFocus = false\"\n >\n <template #icon>\n <dt-icon\n name=\"image\"\n size=\"300\"\n />\n </template>\n </dt-button>\n <dt-input\n ref=\"messageInputImageUpload\"\n data-qa=\"dt-message-input-image-input\"\n type=\"file\"\n class=\"d-ps-absolute\"\n multiple\n hidden\n @input=\"onImageUpload\"\n />\n </template>\n </dt-tooltip>\n <dt-popover\n v-if=\"showEmojiPicker\"\n data-qa=\"dt-message-input-emoji-picker-popover\"\n :open=\"emojiPickerOpened\"\n initial-focus-element=\"#searchInput\"\n padding=\"none\"\n @opened=\"(open) => { emojiPickerOpened = open }\"\n >\n <template #anchor>\n <dt-tooltip\n :message=\"emojiTooltipMessage\"\n :offset=\"[0, -4]\"\n >\n <template #anchor>\n <dt-button\n data-qa=\"dt-message-input-emoji-picker-btn\"\n size=\"sm\"\n circle\n :kind=\"emojiPickerHovered ? 'default' : 'muted'\"\n importance=\"clear\"\n :aria-label=\"emojiButtonAriaLabel\"\n :offset=\"[0, 0]\"\n @click=\"toggleEmojiPicker\"\n @mouseenter=\"emojiPickerFocus = true\"\n @mouseleave=\"emojiPickerFocus = false\"\n @focus=\"emojiPickerFocus = true\"\n @blur=\"emojiPickerFocus = false\"\n >\n <template #icon>\n <dt-icon\n :name=\"!emojiPickerHovered ? 'satisfied' : 'very-satisfied'\"\n size=\"300\"\n />\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </template>\n <template #content>\n <dt-emoji-picker\n v-bind=\"emojiPickerProps\"\n @skin-tone=\"onSkinTone\"\n @selected-emoji=\"onSelectEmoji\"\n />\n </template>\n </dt-popover>\n </div>\n <!-- Right content -->\n <div class=\"d-d-flex\">\n <!-- Optionally displayed remaining character counter -->\n <dt-tooltip\n v-if=\"Boolean(showCharacterLimit)\"\n class=\"dt-message-input--remaining-char-tooltip\"\n placement=\"top-end\"\n :enabled=\"characterLimitTooltipEnabled\"\n :message=\"showCharacterLimit.message\"\n :offset=\"[10, -8]\"\n >\n <template #anchor>\n <p\n v-show=\"displayCharacterLimitWarning\"\n class=\"d-fc-error d-mr16 dt-message-input--remaining-char\"\n data-qa=\"dt-message-input-character-limit\"\n >\n {{ showCharacterLimit.count - inputLength }}\n </p>\n </template>\n </dt-tooltip>\n\n <!-- Cancel button for edit mode -->\n <dt-button\n v-if=\"showCancel\"\n data-qa=\"dt-message-input-cancel-button\"\n class=\"dt-message-input--cancel-button\"\n size=\"sm\"\n kind=\"muted\"\n importance=\"clear\"\n :aria-label=\"showCancel.ariaLabel\"\n @click=\"onCancel\"\n >\n <p>{{ showCancel.text }}</p>\n </dt-button>\n\n <!-- Send button -->\n <dt-tooltip\n v-if=\"showSend\"\n placement=\"top-end\"\n :enabled=\"!showSend\"\n :message=\"showSend.tooltipLabel\"\n :show=\"!isSendDisabled && sendButtonFocus\"\n :offset=\"[6, -8]\"\n >\n <template #anchor>\n <!-- Right positioned UI - send button -->\n <dt-button\n data-qa=\"dt-message-input-send-btn\"\n size=\"sm\"\n kind=\"default\"\n importance=\"primary\"\n :class=\"[\n {\n 'message-input-button__disabled d-fc-muted': isSendDisabled,\n 'd-btn--circle': showSend.icon,\n },\n ]\"\n :aria-label=\"showSend.ariaLabel\"\n :aria-disabled=\"isSendDisabled\"\n @click=\"onSend\"\n @mouseenter=\"sendButtonFocus = true\"\n @mouseleave=\"sendButtonFocus = false\"\n @focus=\"sendButtonFocus = true\"\n @blur=\"sendButtonFocus = false\"\n >\n <template\n v-if=\"showSend.icon\"\n #icon\n >\n <dt-icon\n :name=\"showSend.icon\"\n size=\"300\"\n />\n </template>\n <template\n v-if=\"showSend.text\"\n >\n <p>{{ showSend.text }}</p>\n </template>\n </dt-button>\n </template>\n </dt-tooltip>\n </div>\n </section>\n </div>\n</template>\n\n<script>\n/* eslint-disable max-lines */\nimport {\n DtRichTextEditor,\n RICH_TEXT_EDITOR_OUTPUT_FORMATS,\n RICH_TEXT_EDITOR_AUTOFOCUS_TYPES,\n} from '@/components/rich_text_editor';\nimport { DtButton } from '@/components/button';\nimport { DtIcon } from '@/components/icon';\nimport { DtEmojiPicker } from '@/components/emoji_picker';\nimport { DtPopover } from '@/components/popover';\nimport { DtInput } from '@/components/input';\nimport { DtTooltip } from '@/components/tooltip';\n\nexport default {\n name: 'DtRecipeMessageInput',\n\n components: {\n DtButton,\n DtEmojiPicker,\n DtIcon,\n DtInput,\n DtPopover,\n DtRichTextEditor,\n DtTooltip,\n },\n\n mixins: [],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Value of the input. The object format should match TipTap's JSON\n * document structure: https://tiptap.dev/guide/output#option-1-json\n */\n modelValue: {\n type: [Object, String],\n default: '',\n },\n\n /**\n * Whether the input is editable\n */\n editable: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Descriptive label for the input element\n */\n inputAriaLabel: {\n type: String,\n required: true,\n default: '',\n },\n\n /**\n * Additional class name for the input element. Only accepts a String value\n * because this is passed to the editor via options. For multiple classes,\n * join them into one string, e.g. \"d-p8 d-hmx96\"\n */\n inputClass: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the input should receive focus after the component has been\n * mounted. Either one of `start`, `end`, `all` or a Boolean or a Number.\n * - `start` Sets the focus to the beginning of the input\n * - `end` Sets the focus to the end of the input\n * - `all` Selects the whole contents of the input\n * - `Number` Sets the focus to a specific position in the input\n * - `true` Defaults to `start`\n * - `false` Disables autofocus\n * @values true, false, start, end, all, number\n */\n autoFocus: {\n type: [Boolean, String, Number],\n default: false,\n validator (autoFocus) {\n if (typeof autoFocus === 'string') {\n return RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(autoFocus);\n }\n return true;\n },\n },\n\n /**\n * The output format that the editor uses when emitting the \"@input\" event.\n * One of `text`, `json`, `html`. See https://tiptap.dev/guide/output for\n * examples.\n * @values text, json, html\n */\n outputFormat: {\n type: String,\n default: 'text',\n validator (outputFormat) {\n return RICH_TEXT_EDITOR_OUTPUT_FORMATS.includes(outputFormat);\n },\n },\n\n /**\n * Enables the Link extension and optionally passes configurations to it\n */\n link: {\n type: [Boolean, Object],\n default: false,\n },\n\n /**\n * Placeholder text\n */\n placeholder: {\n type: String,\n default: '',\n },\n\n /**\n * Disable Send Button\n */\n disableSend: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Content area needs to dynamically adjust height based on the conversation area height.\n * can be vh|px|rem|em|%\n */\n maxHeight: {\n type: String,\n default: 'unset',\n },\n\n // Emoji picker props\n showEmojiPicker: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Props to pass into the emoji picker.\n */\n emojiPickerProps: {\n type: Object,\n default: () => ({}),\n validate (emojiPickerProps) {\n return [\n 'searchNoResultsLabel',\n 'searchResultsLabel',\n 'searchPlaceholderLabel',\n 'skinSelectorButtonTooltipLabel',\n 'tabSetLabels',\n ].every(prop => emojiPickerProps[prop] != null);\n },\n },\n\n /**\n * Emoji button tooltip label\n */\n emojiTooltipMessage: {\n type: String,\n default: 'Emoji',\n },\n\n // Aria label for buttons\n /**\n * Emoji button aria label\n */\n emojiButtonAriaLabel: {\n type: String,\n default: 'emoji button',\n },\n\n /**\n * Enable character Limit warning\n */\n showCharacterLimit: {\n type: [Boolean, Object],\n default: () => ({ count: 1500, warning: 500, message: '' }),\n },\n\n showImagePicker: {\n type: [Boolean, Object],\n default: () => ({ tooltipLabel: 'Attach Image', ariaLabel: 'image button' }),\n },\n\n /**\n * Send button defaults.\n */\n showSend: {\n type: [Boolean, Object],\n default: () => ({ icon: 'send' }),\n },\n\n /**\n * Cancel button defaults.\n */\n showCancel: {\n type: [Boolean, Object],\n default: () => ({ text: 'Cancel' }),\n },\n\n /**\n * suggestion object containing the items query function.\n * The valid keys passed into this object can be found here: https://tiptap.dev/api/utilities/suggestion\n *\n * The only required key is the items function which is used to query the contacts for suggestion.\n * items({ query }) => { return [ContactObject]; }\n * ContactObject format:\n * { name: string, avatarSrc: string, id: string }\n *\n * When null, it does not add the plugin.\n */\n mentionSuggestion: {\n type: Object,\n default: null,\n },\n\n /**\n * Whether the input allows for block quote.\n */\n allowBlockquote: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the input allows for bold to be introduced in the text.\n */\n allowBold: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the input allows for bullet list to be introduced in the text.\n */\n allowBulletList: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the input allows for italic to be introduced in the text.\n */\n allowItalic: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the input allows for strike to be introduced in the text.\n */\n allowStrike: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Whether the input allows for underline to be introduced in the text.\n */\n allowUnderline: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: [\n /**\n * Fires when send button is clicked\n *\n * @event submit\n * @type {String}\n */\n 'submit',\n\n /**\n * Fires when media is selected from image button\n *\n * @event select-media\n * @type {Array}\n */\n 'select-media',\n\n /**\n * Fires when media is dropped into the message input\n *\n * @event add-media\n * @type {Array}\n */\n 'add-media',\n\n /**\n * Fires when media is pasted into the message input\n *\n * @event paste-media\n * @type {Array}\n */\n 'paste-media',\n\n /**\n * Fires when cancel button is pressed (only on edit mode)\n *\n * @event cancel\n * @type {Boolean}\n */\n 'cancel',\n\n /**\n * Fires when skin tone is selected from the emoji picker\n *\n * @event skin-tone\n * @type {String}\n */\n 'skin-tone',\n\n /**\n * Fires when emoji is selected from the emoji picker\n *\n * @event selected-emoji\n * @type {String}\n */\n 'selected-emoji',\n\n /**\n * Native focus event\n * @event input\n * @type {String|JSON}\n */\n 'focus',\n\n /**\n * Native blur event\n * @event input\n * @type {String|JSON}\n */\n 'blur',\n\n /**\n * Native input event\n * @event input\n * @type {String|JSON}\n */\n 'input',\n ],\n\n data () {\n return {\n internalInputValue: this.modelValue, // internal input content\n hasFocus: false,\n imagePickerFocus: false,\n emojiPickerFocus: false,\n sendButtonFocus: false,\n emojiPickerOpened: false,\n };\n },\n\n computed: {\n inputLength () {\n return this.internalInputValue.length;\n },\n\n displayCharacterLimitWarning () {\n return Boolean(this.showCharacterLimit) &&\n ((this.showCharacterLimit.count - this.inputLength) <= this.showCharacterLimit.warning);\n },\n\n characterLimitTooltipEnabled () {\n return this.showCharacterLimit.message && (this.showCharacterLimit.count - this.inputLength < 0);\n },\n\n isSendDisabled () {\n return this.disableSend ||\n (this.showCharacterLimit && this.inputLength > this.showCharacterLimit.count);\n },\n\n computedCloseButtonProps () {\n return {\n ariaLabel: 'Close',\n };\n },\n\n emojiPickerHovered () {\n return this.emojiPickerFocus || this.emojiPickerOpened;\n },\n },\n\n watch: {\n modelValue (newValue) {\n this.internalInputValue = newValue;\n },\n },\n\n methods: {\n onDrag (e) {\n e.stopPropagation();\n e.preventDefault();\n },\n\n onDrop (e) {\n e.stopPropagation();\n e.preventDefault();\n\n const dt = e.dataTransfer;\n const files = Array.from(dt.files);\n this.$emit('add-media', files);\n },\n\n onPaste (e) {\n if (e.clipboardData.files.length) {\n e.stopPropagation();\n e.preventDefault();\n const files = [...e.clipboardData.files];\n this.$emit('paste-media', files);\n }\n },\n\n onSkinTone (skinTone) {\n this.$emit('skin-tone', skinTone);\n },\n\n onSelectEmoji (emoji) {\n if (!emoji) {\n this.emojiPickerOpened = false;\n return;\n }\n\n // Insert emoji into the editor\n this.$refs.richTextEditor.editor.commands.insertContent({\n type: 'emoji',\n attrs: {\n code: emoji.shortname,\n },\n });\n this.emojiPickerOpened = false;\n this.$emit('selected-emoji', emoji);\n },\n\n onSelectImage () {\n this.$refs.messageInputImageUpload.$refs.input.click();\n },\n\n onImageUpload () {\n this.$emit('select-media', this.$refs.messageInputImageUpload.$refs.input.files);\n },\n\n toggleEmojiPicker () {\n this.emojiPickerOpened = !this.emojiPickerOpened;\n },\n\n onSend () {\n if (this.isSendDisabled) {\n return;\n }\n this.$emit('submit', this.internalInputValue);\n },\n\n onCancel () {\n this.$emit('cancel');\n },\n\n onFocus (event) {\n this.hasFocus = true;\n this.$refs.richTextEditor?.focusEditor();\n this.$emit('focus', event);\n },\n\n onBlur (event) {\n this.hasFocus = false;\n this.$emit('blur', event);\n },\n\n onInput (event) {\n this.$emit('input', event);\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.dt-message-input--remaining-char-tooltip {\n margin-top: auto;\n margin-bottom: auto;\n}\n.dt-message-input--remaining-char {\n font-size: 1.2rem;\n}\n\n.message-input-button__disabled {\n background-color: unset;\n color: var(--theme-sidebar-icon-color);\n cursor: default;\n}\n\n.dt-message-input--cancel-button {\n margin-right: var(--dt-space-300);\n}\n</style>\n"],"names":["_sfc_main","DtButton","DtEmojiPicker","DtIcon","DtInput","DtPopover","DtRichTextEditor","DtTooltip","autoFocus","RICH_TEXT_EDITOR_AUTOFOCUS_TYPES","outputFormat","RICH_TEXT_EDITOR_OUTPUT_FORMATS","emojiPickerProps","prop","newValue","e","dt","files","skinTone","emoji","event","_a","_hoisted_1","_hoisted_2","_hoisted_3","_createElementBlock","_normalizeClass","$data","_cache","$event","_ctx","$options","args","_createElementVNode","$props","_createVNode","_component_dt_rich_text_editor","_mergeProps","_renderSlot","_createBlock","_component_dt_tooltip","_component_dt_button","_component_dt_icon","_component_dt_input","_component_dt_popover","open","_component_dt_emoji_picker","_toDisplayString","_hoisted_4"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/input-0Uksk4DP.js"),i=require("../chunks/input_group-AS760Cp7.js"),r=require("../chunks/keyboard_list_navigation-N74Bpdq7.js");require("vue");require("./constants.cjs");require("./validators.cjs");require("./utils.cjs");require("./validation-messages.cjs");require("../chunks/_plugin-vue_export-helper-6_y-gaV6.js");exports.DtCheckableInputMixin=e.C;exports.DtGroupableInputMixin=e.G;exports.DtInputMixin=e.I;exports.DtInputGroupMixin=i.I;exports.DtKeyboardListNavigationMixin=r.K;
|
|
2
|
+
//# sourceMappingURL=mixins.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mixins.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|