@dialpad/dialtone-vue 3.119.0 → 3.120.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/_plugin-vue_export-helper-6_y-gaV6.js +2 -0
- package/dist/chunks/_plugin-vue_export-helper-6_y-gaV6.js.map +1 -0
- package/dist/chunks/dropdown-UO3UJalk.js +2 -0
- package/dist/chunks/dropdown-UO3UJalk.js.map +1 -0
- package/dist/chunks/dropdown_constants-KHFvVI2L.js +2 -0
- package/dist/chunks/dropdown_constants-KHFvVI2L.js.map +1 -0
- package/dist/chunks/icon_constants-2S_OSQ1t.js +2 -0
- package/dist/chunks/icon_constants-2S_OSQ1t.js.map +1 -0
- package/dist/chunks/index-6tYeqbgP.js +3 -0
- package/dist/chunks/index-6tYeqbgP.js.map +1 -0
- package/dist/chunks/index-IBtQ5jRJ.js +2 -0
- package/dist/chunks/index-IBtQ5jRJ.js.map +1 -0
- package/dist/chunks/input-0Uksk4DP.js +2 -0
- package/dist/chunks/input-0Uksk4DP.js.map +1 -0
- package/dist/chunks/input_group-AS760Cp7.js +2 -0
- package/dist/chunks/input_group-AS760Cp7.js.map +1 -0
- package/dist/chunks/keyboard_list_navigation-N74Bpdq7.js +2 -0
- package/dist/chunks/keyboard_list_navigation-N74Bpdq7.js.map +1 -0
- package/dist/chunks/link_constants-Kn6kP4i1.js +2 -0
- package/dist/chunks/link_constants-Kn6kP4i1.js.map +1 -0
- package/dist/chunks/list_item_constants-Tsz5CO1m.js +2 -0
- package/dist/chunks/list_item_constants-Tsz5CO1m.js.map +1 -0
- package/dist/chunks/modal-qEzlo0Sj.js +2 -0
- package/dist/chunks/modal-qEzlo0Sj.js.map +1 -0
- package/dist/chunks/notice_action-jO199emq.js +2 -0
- package/dist/chunks/notice_action-jO199emq.js.map +1 -0
- package/dist/chunks/notice_constants-mC6al2Dm.js +2 -0
- package/dist/chunks/notice_constants-mC6al2Dm.js.map +1 -0
- package/dist/chunks/popover_constants-hOEhklvr.js +2 -0
- package/dist/chunks/popover_constants-hOEhklvr.js.map +1 -0
- package/dist/chunks/sr_only_close_button-iD7s1Pbj.js +3 -0
- package/dist/chunks/sr_only_close_button-iD7s1Pbj.js.map +1 -0
- package/dist/chunks/stack_constants-m9Ickqw0.js +2 -0
- package/dist/chunks/stack_constants-m9Ickqw0.js.map +1 -0
- package/dist/chunks/tab-at7WWglk.js +2 -0
- package/dist/chunks/tab-at7WWglk.js.map +1 -0
- package/dist/component-documentation.json +1 -1
- package/dist/dialtone-vue.cjs +2 -0
- package/dist/dialtone-vue.cjs.map +1 -0
- package/dist/lib/attachment-carousel.cjs +2 -0
- package/dist/lib/attachment-carousel.cjs.map +1 -0
- package/dist/lib/attachment-carousel.js +2 -3
- package/dist/lib/attachment-carousel.js.map +1 -1
- package/dist/lib/avatar.cjs +2 -0
- package/dist/lib/avatar.cjs.map +1 -0
- package/dist/lib/avatar.js +2 -3
- package/dist/lib/avatar.js.map +1 -1
- package/dist/lib/badge.cjs +2 -0
- package/dist/lib/badge.cjs.map +1 -0
- package/dist/lib/badge.js +2 -3
- package/dist/lib/badge.js.map +1 -1
- package/dist/lib/banner.cjs +3 -0
- package/dist/lib/banner.cjs.map +1 -0
- package/dist/lib/banner.js +6 -7
- package/dist/lib/banner.js.map +1 -1
- package/dist/lib/breadcrumbs.cjs +2 -0
- package/dist/lib/breadcrumbs.cjs.map +1 -0
- package/dist/lib/button-group.cjs +2 -0
- package/dist/lib/button-group.cjs.map +1 -0
- package/dist/lib/button.cjs +2 -0
- package/dist/lib/button.cjs.map +1 -0
- package/dist/lib/callbar-button-with-popover.cjs +2 -0
- package/dist/lib/callbar-button-with-popover.cjs.map +1 -0
- package/dist/lib/callbar-button-with-popover.js +9 -10
- package/dist/lib/callbar-button-with-popover.js.map +1 -1
- package/dist/lib/callbar-button.cjs +2 -0
- package/dist/lib/callbar-button.cjs.map +1 -0
- package/dist/lib/callbox.cjs +2 -0
- package/dist/lib/callbox.cjs.map +1 -0
- package/dist/lib/callbox.js +2 -3
- package/dist/lib/callbox.js.map +1 -1
- package/dist/lib/card.cjs +2 -0
- package/dist/lib/card.cjs.map +1 -0
- package/dist/lib/checkbox-group.cjs +2 -0
- package/dist/lib/checkbox-group.cjs.map +1 -0
- package/dist/lib/checkbox.cjs +2 -0
- package/dist/lib/checkbox.cjs.map +1 -0
- package/dist/lib/chip.cjs +2 -0
- package/dist/lib/chip.cjs.map +1 -0
- package/dist/lib/chip.js +10 -11
- package/dist/lib/chip.js.map +1 -1
- package/dist/lib/codeblock.cjs +3 -0
- package/dist/lib/codeblock.cjs.map +1 -0
- package/dist/lib/collapsible.cjs +2 -0
- package/dist/lib/collapsible.cjs.map +1 -0
- package/dist/lib/collapsible.js +7 -8
- package/dist/lib/collapsible.js.map +1 -1
- package/dist/lib/combobox-multi-select.cjs +2 -0
- package/dist/lib/combobox-multi-select.cjs.map +1 -0
- package/dist/lib/combobox-with-popover.cjs +2 -0
- package/dist/lib/combobox-with-popover.cjs.map +1 -0
- package/dist/lib/combobox.cjs +2 -0
- package/dist/lib/combobox.cjs.map +1 -0
- package/dist/lib/constants.cjs +2 -0
- package/dist/lib/constants.cjs.map +1 -0
- package/dist/lib/contact-info.cjs +2 -0
- package/dist/lib/contact-info.cjs.map +1 -0
- package/dist/lib/contact-info.js +2 -3
- package/dist/lib/contact-info.js.map +1 -1
- package/dist/lib/contact-row.cjs +2 -0
- package/dist/lib/contact-row.cjs.map +1 -0
- package/dist/lib/datepicker.cjs +2 -0
- package/dist/lib/datepicker.cjs.map +1 -0
- package/dist/lib/datepicker.js +12 -13
- package/dist/lib/datepicker.js.map +1 -1
- package/dist/lib/dates.cjs +2 -0
- package/dist/lib/dates.cjs.map +1 -0
- package/dist/lib/description-list.cjs +2 -0
- package/dist/lib/description-list.cjs.map +1 -0
- package/dist/lib/dropdown.cjs +2 -0
- package/dist/lib/dropdown.cjs.map +1 -0
- package/dist/lib/dropdown.js +6 -7
- package/dist/lib/dropdown.js.map +1 -1
- package/dist/lib/editor.cjs +2 -0
- package/dist/lib/editor.cjs.map +1 -0
- package/dist/lib/emoji-picker.cjs +2 -0
- package/dist/lib/emoji-picker.cjs.map +1 -0
- package/dist/lib/emoji-picker.js +2 -3
- package/dist/lib/emoji-picker.js.map +1 -1
- package/dist/lib/emoji-row.cjs +2 -0
- package/dist/lib/emoji-row.cjs.map +1 -0
- package/dist/lib/emoji-text-wrapper.cjs +2 -0
- package/dist/lib/emoji-text-wrapper.cjs.map +1 -0
- package/dist/lib/emoji.cjs +2 -0
- package/dist/lib/emoji.cjs.map +1 -0
- package/dist/lib/feed-item-row.cjs +2 -0
- package/dist/lib/feed-item-row.cjs.map +1 -0
- package/dist/lib/feed-item-row.js +11 -12
- package/dist/lib/feed-item-row.js.map +1 -1
- package/dist/lib/feed-pill.cjs +2 -0
- package/dist/lib/feed-pill.cjs.map +1 -0
- package/dist/lib/feed-pill.js +2 -3
- package/dist/lib/feed-pill.js.map +1 -1
- package/dist/lib/general-row.cjs +2 -0
- package/dist/lib/general-row.cjs.map +1 -0
- package/dist/lib/group-row.cjs +2 -0
- package/dist/lib/group-row.cjs.map +1 -0
- package/dist/lib/group-row.js +1 -1
- package/dist/lib/grouped-chip.cjs +2 -0
- package/dist/lib/grouped-chip.cjs.map +1 -0
- package/dist/lib/grouped-chip.js +5 -6
- package/dist/lib/grouped-chip.js.map +1 -1
- package/dist/lib/hovercard.cjs +2 -0
- package/dist/lib/hovercard.cjs.map +1 -0
- package/dist/lib/hovercard.js +7 -8
- package/dist/lib/hovercard.js.map +1 -1
- package/dist/lib/icon.cjs +2 -0
- package/dist/lib/icon.cjs.map +1 -0
- package/dist/lib/icon.js +20 -51
- package/dist/lib/icon.js.map +1 -1
- package/dist/lib/image-viewer.cjs +2 -0
- package/dist/lib/image-viewer.cjs.map +1 -0
- package/dist/lib/image-viewer.js +9 -10
- package/dist/lib/image-viewer.js.map +1 -1
- package/dist/lib/input-group.cjs +2 -0
- package/dist/lib/input-group.cjs.map +1 -0
- package/dist/lib/input.cjs +2 -0
- package/dist/lib/input.cjs.map +1 -0
- package/dist/lib/item-layout.cjs +2 -0
- package/dist/lib/item-layout.cjs.map +1 -0
- package/dist/lib/ivr-node.cjs +2 -0
- package/dist/lib/ivr-node.cjs.map +1 -0
- package/dist/lib/ivr-node.js +4 -5
- package/dist/lib/ivr-node.js.map +1 -1
- package/dist/lib/keyboard-shortcut.cjs +2 -0
- package/dist/lib/keyboard-shortcut.cjs.map +1 -0
- package/dist/lib/keyboard-shortcut.js +4 -5
- package/dist/lib/keyboard-shortcut.js.map +1 -1
- package/dist/lib/lazy-show.cjs +2 -0
- package/dist/lib/lazy-show.cjs.map +1 -0
- package/dist/lib/link.cjs +2 -0
- package/dist/lib/link.cjs.map +1 -0
- package/dist/lib/list-item-group.cjs +2 -0
- package/dist/lib/list-item-group.cjs.map +1 -0
- package/dist/lib/list-item.cjs +2 -0
- package/dist/lib/list-item.cjs.map +1 -0
- package/dist/lib/list-item.js +2 -3
- package/dist/lib/list-item.js.map +1 -1
- package/dist/lib/message-input.cjs +2 -0
- package/dist/lib/message-input.cjs.map +1 -0
- package/dist/lib/message-input.js +148 -100
- package/dist/lib/message-input.js.map +1 -1
- package/dist/lib/mixins.cjs +2 -0
- package/dist/lib/mixins.cjs.map +1 -0
- package/dist/lib/modal.cjs +3 -0
- package/dist/lib/modal.cjs.map +1 -0
- package/dist/lib/modal.js +11 -12
- package/dist/lib/modal.js.map +1 -1
- package/dist/lib/notice.cjs +2 -0
- package/dist/lib/notice.cjs.map +1 -0
- package/dist/lib/notice.js +2 -3
- package/dist/lib/notice.js.map +1 -1
- package/dist/lib/pagination.cjs +2 -0
- package/dist/lib/pagination.cjs.map +1 -0
- package/dist/lib/pagination.js +2 -3
- package/dist/lib/pagination.js.map +1 -1
- package/dist/lib/popover.cjs +2 -0
- package/dist/lib/popover.cjs.map +1 -0
- package/dist/lib/popover.js +4 -5
- package/dist/lib/popover.js.map +1 -1
- package/dist/lib/presence.cjs +2 -0
- package/dist/lib/presence.cjs.map +1 -0
- package/dist/lib/radio-group.cjs +2 -0
- package/dist/lib/radio-group.cjs.map +1 -0
- package/dist/lib/radio.cjs +2 -0
- package/dist/lib/radio.cjs.map +1 -0
- package/dist/lib/rich-text-editor.cjs +2 -0
- package/dist/lib/rich-text-editor.cjs.map +1 -0
- package/dist/lib/rich-text-editor.js +174 -142
- package/dist/lib/rich-text-editor.js.map +1 -1
- package/dist/lib/root-layout.cjs +2 -0
- package/dist/lib/root-layout.cjs.map +1 -0
- package/dist/lib/scroller.cjs +2 -0
- package/dist/lib/scroller.cjs.map +1 -0
- package/dist/lib/select-menu.cjs +2 -0
- package/dist/lib/select-menu.cjs.map +1 -0
- package/dist/lib/settings-menu-button.cjs +2 -0
- package/dist/lib/settings-menu-button.cjs.map +1 -0
- package/dist/lib/settings-menu-button.js +2 -3
- package/dist/lib/settings-menu-button.js.map +1 -1
- package/dist/lib/skeleton.cjs +2 -0
- package/dist/lib/skeleton.cjs.map +1 -0
- package/dist/lib/stack.cjs +2 -0
- package/dist/lib/stack.cjs.map +1 -0
- package/dist/lib/tabs.cjs +2 -0
- package/dist/lib/tabs.cjs.map +1 -0
- package/dist/lib/time-pill.cjs +2 -0
- package/dist/lib/time-pill.cjs.map +1 -0
- package/dist/lib/toast.cjs +2 -0
- package/dist/lib/toast.cjs.map +1 -0
- package/dist/lib/toast.js +2 -3
- package/dist/lib/toast.js.map +1 -1
- package/dist/lib/toggle.cjs +2 -0
- package/dist/lib/toggle.cjs.map +1 -0
- package/dist/lib/tooltip-directive.cjs +2 -0
- package/dist/lib/tooltip-directive.cjs.map +1 -0
- package/dist/lib/tooltip.cjs +2 -0
- package/dist/lib/tooltip.cjs.map +1 -0
- package/dist/lib/top-banner-info.cjs +2 -0
- package/dist/lib/top-banner-info.cjs.map +1 -0
- package/dist/lib/unread-pill.cjs +2 -0
- package/dist/lib/unread-pill.cjs.map +1 -0
- package/dist/lib/unread-pill.js +2 -3
- package/dist/lib/unread-pill.js.map +1 -1
- package/dist/lib/utils.cjs +2 -0
- package/dist/lib/utils.cjs.map +1 -0
- package/dist/lib/validation-messages.cjs +2 -0
- package/dist/lib/validation-messages.cjs.map +1 -0
- package/dist/lib/validators.cjs +2 -0
- package/dist/lib/validators.cjs.map +1 -0
- package/dist/style.css +1 -1
- package/dist/types/components/avatar/avatar.vue.d.ts +1 -1
- package/dist/types/components/button/button.vue.d.ts +2 -2
- package/dist/types/components/card/card.vue.d.ts +1 -1
- package/dist/types/components/chip/chip.vue.d.ts +1 -1
- package/dist/types/components/collapsible/collapsible.vue.d.ts +2 -2
- package/dist/types/components/combobox/combobox.vue.d.ts +1 -1
- package/dist/types/components/dropdown/dropdown.vue.d.ts +1 -1
- package/dist/types/components/emoji/emoji.vue.d.ts +1 -1
- package/dist/types/components/icon/icon.vue.d.ts +1 -19
- package/dist/types/components/icon/icon.vue.d.ts.map +1 -1
- package/dist/types/components/list_item_group/list_item_group.vue.d.ts +1 -1
- package/dist/types/components/modal/modal.vue.d.ts +2 -2
- package/dist/types/components/popover/popover_header_footer.vue.d.ts +1 -1
- package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts +91 -1
- package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/types/components/root_layout/root_layout.vue.d.ts +1 -1
- package/dist/types/components/skeleton/skeleton-list-item.vue.d.ts +1 -1
- package/dist/types/components/skeleton/skeleton-paragraph.vue.d.ts +3 -3
- package/dist/types/components/skeleton/skeleton-shape.vue.d.ts +2 -2
- package/dist/types/components/skeleton/skeleton-text.vue.d.ts +2 -2
- package/dist/types/components/skeleton/skeleton.vue.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip.vue.d.ts +2 -2
- package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +1 -1
- package/dist/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -1
- package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +2 -2
- package/dist/types/recipes/conversation_view/message_input/message_input.vue.d.ts +90 -0
- package/dist/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
- package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +1 -1
- package/dist/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +1 -1
- package/package.json +9 -8
|
@@ -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":"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"}
|
|
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":""}
|