@dialpad/dialtone-vue 2.124.0 → 2.125.1-alpha.1

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.
Files changed (269) hide show
  1. package/dist/chunks/_plugin-vue2_normalizer-u6G_3nkj.js +33 -0
  2. package/dist/chunks/_plugin-vue2_normalizer-u6G_3nkj.js.map +1 -0
  3. package/dist/chunks/dropdown-SMWaTWyF.js +357 -0
  4. package/dist/chunks/dropdown-SMWaTWyF.js.map +1 -0
  5. package/dist/chunks/dropdown_constants-EUcDxBrX.js +9 -0
  6. package/dist/chunks/dropdown_constants-EUcDxBrX.js.map +1 -0
  7. package/dist/chunks/icon_constants-OpYAAKwF.js +16 -0
  8. package/dist/chunks/icon_constants-OpYAAKwF.js.map +1 -0
  9. package/dist/chunks/index-nIyl_PL6.js +372 -0
  10. package/dist/chunks/index-nIyl_PL6.js.map +1 -0
  11. package/dist/chunks/index-o4OMWMuv.js +244 -0
  12. package/dist/chunks/index-o4OMWMuv.js.map +1 -0
  13. package/dist/chunks/input-1tm09l_-.js +273 -0
  14. package/dist/chunks/input-1tm09l_-.js.map +1 -0
  15. package/dist/chunks/input_group-zcAq3DQl.js +141 -0
  16. package/dist/chunks/input_group-zcAq3DQl.js.map +1 -0
  17. package/dist/chunks/keyboard_list_navigation-F0O8nht0.js +197 -0
  18. package/dist/chunks/keyboard_list_navigation-F0O8nht0.js.map +1 -0
  19. package/dist/chunks/link_constants-vIUB92L4.js +16 -0
  20. package/dist/chunks/link_constants-vIUB92L4.js.map +1 -0
  21. package/dist/chunks/list_item_constants-LTUc74pD.js +13 -0
  22. package/dist/chunks/list_item_constants-LTUc74pD.js.map +1 -0
  23. package/dist/chunks/modal-VuMFkZFH.js +82 -0
  24. package/dist/chunks/modal-VuMFkZFH.js.map +1 -0
  25. package/dist/chunks/notice_action-9NmtQRai.js +182 -0
  26. package/dist/chunks/notice_action-9NmtQRai.js.map +1 -0
  27. package/dist/chunks/notice_constants-c--hBFQw.js +6 -0
  28. package/dist/chunks/notice_constants-c--hBFQw.js.map +1 -0
  29. package/dist/chunks/popover_constants-qjlEkroB.js +114 -0
  30. package/dist/chunks/popover_constants-qjlEkroB.js.map +1 -0
  31. package/dist/chunks/sr_only_close_button-JGole5Xi.js +86 -0
  32. package/dist/chunks/sr_only_close_button-JGole5Xi.js.map +1 -0
  33. package/dist/chunks/stack_constants-u7tNqGtc.js +13 -0
  34. package/dist/chunks/stack_constants-u7tNqGtc.js.map +1 -0
  35. package/dist/chunks/tab-Qm9LVkYj.js +346 -0
  36. package/dist/chunks/tab-Qm9LVkYj.js.map +1 -0
  37. package/dist/component-documentation.json +1 -1
  38. package/dist/dialtone-vue.js +356 -10364
  39. package/dist/dialtone-vue.js.map +1 -0
  40. package/dist/lib/attachment-carousel.js +250 -0
  41. package/dist/lib/attachment-carousel.js.map +1 -0
  42. package/dist/lib/avatar.js +369 -0
  43. package/dist/lib/avatar.js.map +1 -0
  44. package/dist/lib/badge.js +169 -0
  45. package/dist/lib/badge.js.map +1 -0
  46. package/dist/lib/banner.js +200 -0
  47. package/dist/lib/banner.js.map +1 -0
  48. package/dist/lib/breadcrumbs.js +138 -0
  49. package/dist/lib/breadcrumbs.js.map +1 -0
  50. package/dist/lib/button-group.js +45 -0
  51. package/dist/lib/button-group.js.map +1 -0
  52. package/dist/lib/button.js +328 -0
  53. package/dist/lib/button.js.map +1 -0
  54. package/dist/lib/callbar-button-with-popover.js +235 -0
  55. package/dist/lib/callbar-button-with-popover.js.map +1 -0
  56. package/dist/lib/callbar-button.js +175 -0
  57. package/dist/lib/callbar-button.js.map +1 -0
  58. package/dist/lib/callbox.js +142 -0
  59. package/dist/lib/callbox.js.map +1 -0
  60. package/dist/lib/card.js +72 -0
  61. package/dist/lib/card.js.map +1 -0
  62. package/dist/lib/checkbox-group.js +117 -0
  63. package/dist/lib/checkbox-group.js.map +1 -0
  64. package/dist/lib/checkbox.js +117 -0
  65. package/dist/lib/checkbox.js.map +1 -0
  66. package/dist/lib/chip.js +186 -0
  67. package/dist/lib/chip.js.map +1 -0
  68. package/dist/lib/codeblock.js +29 -0
  69. package/dist/lib/codeblock.js.map +1 -0
  70. package/dist/lib/collapsible.js +313 -0
  71. package/dist/lib/collapsible.js.map +1 -0
  72. package/dist/lib/combobox-multi-select.js +433 -0
  73. package/dist/lib/combobox-multi-select.js.map +1 -0
  74. package/dist/lib/combobox-with-popover.js +341 -0
  75. package/dist/lib/combobox-with-popover.js.map +1 -0
  76. package/dist/lib/combobox.js +19 -0
  77. package/dist/lib/combobox.js.map +1 -0
  78. package/dist/lib/constants.js +53 -0
  79. package/dist/lib/constants.js.map +1 -0
  80. package/dist/lib/contact-info.js +145 -0
  81. package/dist/lib/contact-info.js.map +1 -0
  82. package/dist/lib/contact-row.js +203 -0
  83. package/dist/lib/contact-row.js.map +1 -0
  84. package/dist/lib/datepicker.js +552 -0
  85. package/dist/lib/datepicker.js.map +1 -0
  86. package/dist/lib/dates.js +57 -0
  87. package/dist/lib/dates.js.map +1 -0
  88. package/dist/lib/description-list.js +83 -0
  89. package/dist/lib/description-list.js.map +1 -0
  90. package/dist/lib/dropdown.js +45 -0
  91. package/dist/lib/dropdown.js.map +1 -0
  92. package/dist/lib/editor.js +527 -0
  93. package/dist/lib/editor.js.map +1 -0
  94. package/dist/{emoji_picker-kiTOKaq8.js → lib/emoji-picker.js} +30 -11
  95. package/dist/lib/emoji-picker.js.map +1 -0
  96. package/dist/lib/emoji-row.js +83 -0
  97. package/dist/lib/emoji-row.js.map +1 -0
  98. package/dist/{emoji_text_wrapper-48ClwKvf.js → lib/emoji-text-wrapper.js} +19 -13
  99. package/dist/lib/emoji-text-wrapper.js.map +1 -0
  100. package/dist/lib/emoji.js +11 -0
  101. package/dist/lib/emoji.js.map +1 -0
  102. package/dist/lib/feed-item-row.js +207 -0
  103. package/dist/lib/feed-item-row.js.map +1 -0
  104. package/dist/lib/feed-pill.js +142 -0
  105. package/dist/lib/feed-pill.js.map +1 -0
  106. package/dist/lib/general-row.js +379 -0
  107. package/dist/lib/general-row.js.map +1 -0
  108. package/dist/lib/group-row.js +115 -0
  109. package/dist/lib/group-row.js.map +1 -0
  110. package/dist/lib/grouped-chip.js +45 -0
  111. package/dist/lib/grouped-chip.js.map +1 -0
  112. package/dist/lib/hovercard.js +194 -0
  113. package/dist/lib/hovercard.js.map +1 -0
  114. package/dist/lib/icon.js +82 -0
  115. package/dist/lib/icon.js.map +1 -0
  116. package/dist/lib/image-viewer.js +171 -0
  117. package/dist/lib/image-viewer.js.map +1 -0
  118. package/dist/lib/input-group.js +90 -0
  119. package/dist/lib/input-group.js.map +1 -0
  120. package/dist/lib/input.js +455 -0
  121. package/dist/lib/input.js.map +1 -0
  122. package/dist/lib/item-layout.js +39 -0
  123. package/dist/lib/item-layout.js.map +1 -0
  124. package/dist/lib/ivr-node.js +195 -0
  125. package/dist/lib/ivr-node.js.map +1 -0
  126. package/dist/lib/keyboard-shortcut.js +100 -0
  127. package/dist/lib/keyboard-shortcut.js.map +1 -0
  128. package/dist/lib/lazy-show.js +77 -0
  129. package/dist/lib/lazy-show.js.map +1 -0
  130. package/dist/lib/link.js +69 -0
  131. package/dist/lib/link.js.map +1 -0
  132. package/dist/lib/list-item-group.js +59 -0
  133. package/dist/lib/list-item-group.js.map +1 -0
  134. package/dist/lib/list-item.js +195 -0
  135. package/dist/lib/list-item.js.map +1 -0
  136. package/dist/{message_input.js → lib/message-input.js} +107 -55
  137. package/dist/lib/message-input.js.map +1 -0
  138. package/dist/lib/mixins.js +17 -0
  139. package/dist/lib/mixins.js.map +1 -0
  140. package/dist/lib/modal.js +324 -0
  141. package/dist/lib/modal.js.map +1 -0
  142. package/dist/lib/notice.js +158 -0
  143. package/dist/lib/notice.js.map +1 -0
  144. package/dist/lib/pagination.js +142 -0
  145. package/dist/lib/pagination.js.map +1 -0
  146. package/dist/lib/popover.js +779 -0
  147. package/dist/lib/popover.js.map +1 -0
  148. package/dist/lib/presence.js +60 -0
  149. package/dist/lib/presence.js.map +1 -0
  150. package/dist/lib/radio-group.js +97 -0
  151. package/dist/lib/radio-group.js.map +1 -0
  152. package/dist/lib/radio.js +111 -0
  153. package/dist/lib/radio.js.map +1 -0
  154. package/dist/lib/rich-text-editor.js +920 -0
  155. package/dist/lib/rich-text-editor.js.map +1 -0
  156. package/dist/lib/root-layout.js +127 -0
  157. package/dist/lib/root-layout.js.map +1 -0
  158. package/dist/lib/select-menu.js +243 -0
  159. package/dist/lib/select-menu.js.map +1 -0
  160. package/dist/lib/settings-menu-button.js +65 -0
  161. package/dist/lib/settings-menu-button.js.map +1 -0
  162. package/dist/lib/skeleton.js +574 -0
  163. package/dist/lib/skeleton.js.map +1 -0
  164. package/dist/lib/stack.js +118 -0
  165. package/dist/lib/stack.js.map +1 -0
  166. package/dist/lib/tabs.js +93 -0
  167. package/dist/lib/tabs.js.map +1 -0
  168. package/dist/lib/time-pill.js +43 -0
  169. package/dist/lib/time-pill.js.map +1 -0
  170. package/dist/lib/toast.js +226 -0
  171. package/dist/lib/toast.js.map +1 -0
  172. package/dist/lib/toggle.js +169 -0
  173. package/dist/lib/toggle.js.map +1 -0
  174. package/dist/{directives.js → lib/tooltip-directive.js} +24 -17
  175. package/dist/lib/tooltip-directive.js.map +1 -0
  176. package/dist/lib/tooltip.js +376 -0
  177. package/dist/lib/tooltip.js.map +1 -0
  178. package/dist/lib/top-banner-info.js +60 -0
  179. package/dist/lib/top-banner-info.js.map +1 -0
  180. package/dist/lib/unread-pill.js +61 -0
  181. package/dist/lib/unread-pill.js.map +1 -0
  182. package/dist/lib/utils.js +175 -0
  183. package/dist/lib/utils.js.map +1 -0
  184. package/dist/lib/validation-messages.js +83 -0
  185. package/dist/lib/validation-messages.js.map +1 -0
  186. package/dist/lib/validators.js +12 -0
  187. package/dist/lib/validators.js.map +1 -0
  188. package/dist/style.css +1 -1
  189. package/dist/types/common/{constants.d.ts → constants/index.d.ts} +1 -1
  190. package/dist/types/common/constants/index.d.ts.map +1 -0
  191. package/dist/types/common/{dates.d.ts → dates/index.d.ts} +1 -1
  192. package/dist/types/common/dates/index.d.ts.map +1 -0
  193. package/dist/types/common/{emoji.d.ts → emoji/index.d.ts} +1 -1
  194. package/dist/types/common/{emoji.d.ts.map → emoji/index.d.ts.map} +1 -1
  195. package/dist/types/common/{utils.d.ts → utils/index.d.ts} +1 -1
  196. package/dist/types/common/utils/index.d.ts.map +1 -0
  197. package/dist/types/common/{validators.d.ts → validators/index.d.ts} +1 -1
  198. package/dist/types/common/validators/index.d.ts.map +1 -0
  199. package/dist/types/components/avatar/avatar.vue.d.ts +1 -1
  200. package/dist/types/components/button/button.vue.d.ts +2 -2
  201. package/dist/types/components/card/card.vue.d.ts +1 -1
  202. package/dist/types/components/checkbox/checkbox.vue.d.ts +7 -7
  203. package/dist/types/components/checkbox/checkbox.vue.d.ts.map +1 -1
  204. package/dist/types/components/chip/chip.vue.d.ts +2 -2
  205. package/dist/types/components/collapsible/collapsible.vue.d.ts +3 -3
  206. package/dist/types/components/combobox/combobox.vue.d.ts +7 -8
  207. package/dist/types/components/combobox/combobox.vue.d.ts.map +1 -1
  208. package/dist/types/components/dropdown/dropdown.vue.d.ts +1 -1
  209. package/dist/types/components/emoji/emoji.vue.d.ts +1 -1
  210. package/dist/types/components/emoji_picker/modules/emoji_selector.vue.d.ts +1 -219
  211. package/dist/types/components/icon/icon.vue.d.ts +20 -16
  212. package/dist/types/components/icon/icon.vue.d.ts.map +1 -1
  213. package/dist/types/components/icon/icon_constants.d.ts +2 -0
  214. package/dist/types/components/icon/icon_constants.d.ts.map +1 -1
  215. package/dist/types/components/icon/index.d.ts +1 -1
  216. package/dist/types/components/input_group/input_group.vue.d.ts +15 -6
  217. package/dist/types/components/input_group/input_group.vue.d.ts.map +1 -1
  218. package/dist/types/components/list_item_group/list_item_group.vue.d.ts +1 -1
  219. package/dist/types/components/modal/modal.vue.d.ts +7 -2
  220. package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
  221. package/dist/types/components/notice/notice_action.vue.d.ts +3 -1
  222. package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
  223. package/dist/types/components/popover/popover_header_footer.vue.d.ts +1 -1
  224. package/dist/types/components/radio/radio.vue.d.ts +2 -12
  225. package/dist/types/components/radio/radio.vue.d.ts.map +1 -1
  226. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +1 -1
  227. package/dist/types/components/skeleton/skeleton-list-item.vue.d.ts +1 -1
  228. package/dist/types/components/skeleton/skeleton-paragraph.vue.d.ts +3 -3
  229. package/dist/types/components/skeleton/skeleton-shape.vue.d.ts +2 -2
  230. package/dist/types/components/skeleton/skeleton-text.vue.d.ts +8 -3
  231. package/dist/types/components/skeleton/skeleton-text.vue.d.ts.map +1 -1
  232. package/dist/types/components/skeleton/skeleton.vue.d.ts +1 -1
  233. package/dist/types/components/toggle/toggle.vue.d.ts +1 -1
  234. package/dist/types/components/tooltip/tooltip.vue.d.ts +2 -2
  235. package/dist/types/index.d.ts +36 -29
  236. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +1 -1
  237. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +2 -2
  238. package/dist/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -1
  239. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +2 -2
  240. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +9 -0
  241. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  242. package/package.json +19 -59
  243. package/CHANGELOG.json +0 -1
  244. package/CHANGELOG.md +0 -2890
  245. package/dist/dialtone-vue.cjs +0 -5
  246. package/dist/directives.cjs +0 -1
  247. package/dist/emoji.cjs +0 -1
  248. package/dist/emoji.js +0 -35
  249. package/dist/emoji_picker-njWWAm6V.cjs +0 -1
  250. package/dist/emoji_text_wrapper-ZlynvHnd.cjs +0 -1
  251. package/dist/index-OF94C6nQ.js +0 -142833
  252. package/dist/index-Wx7Jagcr.cjs +0 -1
  253. package/dist/message_input.cjs +0 -1
  254. package/dist/rich_text_editor-9sMob7ck.js +0 -16478
  255. package/dist/rich_text_editor-Eh5kYokw.cjs +0 -97
  256. package/dist/tooltip-88U5vFMA.js +0 -2516
  257. package/dist/tooltip-i2wxFIIi.cjs +0 -21
  258. package/dist/types/common/constants.d.ts.map +0 -1
  259. package/dist/types/common/dates.d.ts.map +0 -1
  260. package/dist/types/common/utils.d.ts.map +0 -1
  261. package/dist/types/common/validators.d.ts.map +0 -1
  262. package/dist/types/components/emoji_picker/emojis/index.d.ts +0 -50
  263. package/dist/types/components/emoji_picker/emojis/index.d.ts.map +0 -1
  264. package/dist/types/directives.d.ts +0 -2
  265. package/dist/types/directives.d.ts.map +0 -1
  266. package/dist/types/emoji.d.ts +0 -5
  267. package/dist/types/emoji.d.ts.map +0 -1
  268. package/dist/types/message_input.d.ts +0 -3
  269. package/dist/types/message_input.d.ts.map +0 -1
@@ -0,0 +1,195 @@
1
+ import { L as l, a as i } from "../chunks/list_item_constants-LTUc74pD.js";
2
+ import r from "./utils.js";
3
+ import { n as a } from "../chunks/_plugin-vue2_normalizer-u6G_3nkj.js";
4
+ import { DtItemLayout as n } from "./item-layout.js";
5
+ import { DtIcon as u } from "./icon.js";
6
+ import "./constants.js";
7
+ import "vue";
8
+ import "@dialpad/dialtone-icons/vue2";
9
+ import "../chunks/icon_constants-OpYAAKwF.js";
10
+ import "@dialpad/dialtone-icons/icons.json";
11
+ import "./skeleton.js";
12
+ const m = ["listitem", "menuitem", "option"], d = {
13
+ name: "DtListItem",
14
+ components: {
15
+ DtItemLayout: n,
16
+ DtIcon: u
17
+ },
18
+ /**
19
+ * Value provided from keyboard_list_navigation.js using id prop.
20
+ */
21
+ inject: {
22
+ highlightId: { default: null }
23
+ },
24
+ props: {
25
+ /**
26
+ * Id for the item.
27
+ */
28
+ id: {
29
+ type: String,
30
+ default() {
31
+ return r.getUniqueString();
32
+ }
33
+ },
34
+ /**
35
+ * String to use for the item's role.
36
+ */
37
+ role: {
38
+ type: String,
39
+ default: "listitem",
40
+ validator: (t) => m.includes(t)
41
+ },
42
+ /**
43
+ * HTML element type (tag name) of the content wrapper element.
44
+ */
45
+ elementType: {
46
+ type: String,
47
+ default: "li"
48
+ },
49
+ /**
50
+ * The type of child list item to use.
51
+ * @values default, custom
52
+ */
53
+ type: {
54
+ type: String,
55
+ default: l.DEFAULT,
56
+ validator: (t) => Object.values(l).includes(t)
57
+ },
58
+ /**
59
+ * The type of navigation that this component should support.
60
+ * - "arrow-keys" for items that are navigated with UP/DOWN keys.
61
+ * - "tab" for items that are navigated using the TAB key.
62
+ * - "none" for static items that are not interactive.
63
+ * @values arrow-keys, tab, none
64
+ */
65
+ navigationType: {
66
+ type: String,
67
+ default: i.NONE,
68
+ validator: (t) => Object.values(i).includes(t)
69
+ },
70
+ /**
71
+ * Applies selected styles to the list item
72
+ */
73
+ selected: {
74
+ type: Boolean,
75
+ default: !1
76
+ }
77
+ },
78
+ emits: [
79
+ /**
80
+ * Native click event
81
+ *
82
+ * @event click
83
+ * @type {PointerEvent | KeyboardEvent}
84
+ */
85
+ "click",
86
+ /**
87
+ * Key down event
88
+ *
89
+ * @event keydown
90
+ * @type {KeyboardEvent}
91
+ */
92
+ "keydown",
93
+ /**
94
+ * Native mouse move event
95
+ *
96
+ * @event mousemove
97
+ * @type {MouseEvent}
98
+ */
99
+ "mousemove",
100
+ /**
101
+ * Native mouse leave event
102
+ *
103
+ * @event mouseleave
104
+ * @type {MouseEvent}
105
+ */
106
+ "mouseleave"
107
+ ],
108
+ data() {
109
+ return {
110
+ injected: !1,
111
+ mouseHighlighted: !1
112
+ };
113
+ },
114
+ computed: {
115
+ listItemType() {
116
+ switch (this.type) {
117
+ case l.DEFAULT:
118
+ return n;
119
+ default:
120
+ return null;
121
+ }
122
+ },
123
+ listItemListeners() {
124
+ return {
125
+ ...this.$listeners,
126
+ keydown: (t) => {
127
+ ["enter", "space"].includes(t.code.toLowerCase()) && this.onClick(t), this.$emit("keydown", t);
128
+ },
129
+ mousemove: (t) => {
130
+ this.onMouseHover(t), this.$emit("mousemove", t);
131
+ },
132
+ mouseleave: (t) => {
133
+ this.onMouseLeave(t), this.$emit("mouseleave", t);
134
+ }
135
+ };
136
+ },
137
+ /**
138
+ * For keyboard navigation, whether this item is currently highlighted.
139
+ * An injected highlightId will override the default mouseover highlight.
140
+ */
141
+ isHighlighted() {
142
+ return this.isHoverable ? this.highlightId && this.highlightId() ? this.id === this.highlightId() : this.mouseHighlighted : !1;
143
+ },
144
+ isFocusable() {
145
+ return this.navigationType === i.TAB;
146
+ },
147
+ /**
148
+ * Whether to apply hover styles.
149
+ */
150
+ isHoverable() {
151
+ return this.navigationType !== i.NONE;
152
+ }
153
+ },
154
+ methods: {
155
+ onClick(t) {
156
+ this.$emit("click", t);
157
+ },
158
+ onMouseHover() {
159
+ this.mouseHighlighted = !0;
160
+ },
161
+ onMouseLeave() {
162
+ this.mouseHighlighted = !1;
163
+ }
164
+ }
165
+ };
166
+ var c = function() {
167
+ var e = this, s = e._self._c;
168
+ return s(e.elementType, e._g({ tag: "component", class: ["dt-list-item", {
169
+ "dt-list-item--focusable": e.isFocusable,
170
+ "dt-list-item--highlighted": e.isHighlighted,
171
+ "dt-list-item--static": !e.isHoverable
172
+ }], attrs: { id: e.id, tabindex: e.isFocusable ? 0 : -1, role: e.role, "aria-selected": e.role === "listitem" ? void 0 : e.isHighlighted } }, e.listItemListeners), [e.listItemType ? s(e.listItemType, { tag: "component", scopedSlots: e._u([e._l(e.$slots, function(g, o) {
173
+ return { key: o, fn: function() {
174
+ return [e._t(o)];
175
+ }, proxy: !0 };
176
+ }), e.selected ? { key: "selected", fn: function() {
177
+ return [s("dt-icon", { staticClass: "dt-list-item--selected-icon", attrs: { name: "check", size: "400" } })];
178
+ }, proxy: !0 } : null], null, !0) }) : e._t("default")], 2);
179
+ }, h = [], p = /* @__PURE__ */ a(
180
+ d,
181
+ c,
182
+ h,
183
+ !1,
184
+ null,
185
+ null,
186
+ null,
187
+ null
188
+ );
189
+ const E = p.exports;
190
+ export {
191
+ E as DtListItem,
192
+ i as LIST_ITEM_NAVIGATION_TYPES,
193
+ l as LIST_ITEM_TYPES
194
+ };
195
+ //# sourceMappingURL=list-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-item.js","sources":["../../components/list_item/list_item.vue"],"sourcesContent":["<template>\n <component\n :is=\"elementType\"\n :id=\"id\"\n :class=\"['dt-list-item', {\n 'dt-list-item--focusable': isFocusable,\n 'dt-list-item--highlighted': isHighlighted,\n 'dt-list-item--static': !isHoverable,\n }]\"\n :tabindex=\"isFocusable ? 0 : -1\"\n :role=\"role\"\n :aria-selected=\"role === 'listitem' ? undefined : isHighlighted\"\n v-on=\"listItemListeners\"\n >\n <component\n :is=\"listItemType\"\n v-if=\"listItemType\"\n >\n <template\n v-for=\"(_, slotName) in $slots\"\n #[slotName]\n >\n <!-- @slot named slots for custom list items -->\n <slot :name=\"slotName\" />\n </template>\n <template\n v-if=\"selected\"\n #selected\n >\n <dt-icon\n name=\"check\"\n size=\"400\"\n class=\"dt-list-item--selected-icon\"\n />\n </template>\n </component>\n <!-- @slot slot for the main content -->\n <slot v-else />\n </component>\n</template>\n\n<script>\nimport {\n LIST_ITEM_TYPES,\n LIST_ITEM_NAVIGATION_TYPES,\n} from './list_item_constants';\nimport utils from '@/common/utils';\nimport { DtIcon } from '@/components/icon';\nimport { DtItemLayout } from '@/components/item_layout';\n\nconst ROLES = ['listitem', 'menuitem', 'option'];\n\n/**\n * A list item is an element that can be used to represent individual items in a list.\n * @see https://dialtone.dialpad.com/components/list_item.html\n */\nexport default {\n name: 'DtListItem',\n\n components: {\n DtItemLayout,\n DtIcon,\n },\n\n /**\n * Value provided from keyboard_list_navigation.js using id prop.\n */\n inject: {\n highlightId: { default: null },\n },\n\n props: {\n /**\n * Id for the item.\n */\n id: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: 'listitem',\n validator: (role) => (ROLES).includes(role),\n },\n\n /**\n * HTML element type (tag name) of the content wrapper element.\n */\n elementType: {\n type: String,\n default: 'li',\n },\n\n /**\n * The type of child list item to use.\n * @values default, custom\n */\n type: {\n type: String,\n default: LIST_ITEM_TYPES.DEFAULT,\n validator: (t) => Object.values(LIST_ITEM_TYPES).includes(t),\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.NONE,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * Applies selected styles to the list item\n */\n selected: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Native mouse move event\n *\n * @event mousemove\n * @type {MouseEvent}\n */\n 'mousemove',\n\n /**\n * Native mouse leave event\n *\n * @event mouseleave\n * @type {MouseEvent}\n */\n 'mouseleave',\n ],\n\n data () {\n return {\n injected: false,\n mouseHighlighted: false,\n };\n },\n\n computed: {\n listItemType () {\n switch (this.type) {\n case LIST_ITEM_TYPES.DEFAULT:\n return DtItemLayout;\n default:\n return null;\n }\n },\n\n listItemListeners () {\n return {\n ...this.$listeners,\n keydown: event => {\n if (['enter', 'space'].includes(event.code.toLowerCase())) {\n this.onClick(event);\n }\n this.$emit('keydown', event);\n },\n\n mousemove: event => {\n this.onMouseHover(event);\n this.$emit('mousemove', event);\n },\n\n mouseleave: event => {\n this.onMouseLeave(event);\n this.$emit('mouseleave', event);\n },\n };\n },\n\n /**\n * For keyboard navigation, whether this item is currently highlighted.\n * An injected highlightId will override the default mouseover highlight.\n */\n isHighlighted () {\n if (this.isHoverable) {\n return this.highlightId && this.highlightId() ? this.id === this.highlightId() : this.mouseHighlighted;\n }\n return false;\n },\n\n isFocusable () {\n // Navigation type has to be set to \"tab\".\n return this.navigationType === LIST_ITEM_NAVIGATION_TYPES.TAB;\n },\n\n /**\n * Whether to apply hover styles.\n */\n isHoverable () {\n return this.navigationType !== LIST_ITEM_NAVIGATION_TYPES.NONE;\n },\n },\n\n methods: {\n onClick (e) {\n this.$emit('click', e);\n },\n\n onMouseHover () {\n this.mouseHighlighted = true;\n },\n\n onMouseLeave () {\n this.mouseHighlighted = false;\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.dt-list-item {\n list-style: none;\n background-color: var(--dt-action-color-background-muted-default);\n\n &:not(.dt-list-item--static) {\n cursor: pointer;\n border-radius: var(--dt-size-radius-300);\n }\n\n &--focusable:focus,\n &--focusable:focus-within,\n &--highlighted {\n background-color: var(--dt-action-color-background-muted-hover);\n }\n\n &--highlighted:active {\n background-color: var(--dt-action-color-background-muted-active);\n }\n\n &--selected-icon {\n margin-left: var(--dt-space-400);\n }\n\n :focus-visible {\n outline: none;\n box-shadow: var(--dt-shadow-focus);\n }\n}\n</style>\n"],"names":["ROLES","_sfc_main","DtItemLayout","DtIcon","utils","role","LIST_ITEM_TYPES","LIST_ITEM_NAVIGATION_TYPES","event","e"],"mappings":"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"}
@@ -1,17 +1,71 @@
1
- import { D as o, a as s, R as r, b as l } from "./rich_text_editor-9sMob7ck.js";
2
- import { t as u, w as c, x as d } from "./index-OF94C6nQ.js";
3
- import { D as m } from "./emoji_picker-kiTOKaq8.js";
4
- import { n as p, D as f } from "./tooltip-88U5vFMA.js";
1
+ import { n as a } from "../chunks/_plugin-vue2_normalizer-u6G_3nkj.js";
2
+ import { DtButton as r } from "./button.js";
3
+ import { DtEmojiPicker as s } from "./emoji-picker.js";
4
+ import { DtIcon as l } from "./icon.js";
5
+ import { DtInput as u } from "./input.js";
6
+ import { DtPopover as c } from "./popover.js";
7
+ import { DtRichTextEditor as m, RICH_TEXT_EDITOR_AUTOFOCUS_TYPES as p, RICH_TEXT_EDITOR_OUTPUT_FORMATS as d } from "./rich-text-editor.js";
8
+ import { DtTooltip as f } from "./tooltip.js";
5
9
  import "vue";
10
+ import "../chunks/link_constants-vIUB92L4.js";
11
+ import "../chunks/tab-Qm9LVkYj.js";
12
+ import "@dialpad/dialtone-emojis";
13
+ import "@dialpad/dialtone-icons/vue2";
14
+ import "../chunks/icon_constants-OpYAAKwF.js";
15
+ import "@dialpad/dialtone-icons/icons.json";
16
+ import "./skeleton.js";
17
+ import "./constants.js";
18
+ import "./utils.js";
19
+ import "../chunks/input-1tm09l_-.js";
20
+ import "./validators.js";
21
+ import "./validation-messages.js";
22
+ import "../chunks/popover_constants-qjlEkroB.js";
23
+ import "tippy.js";
24
+ import "./lazy-show.js";
25
+ import "@linusborg/vue-simple-portal";
26
+ import "../chunks/modal-VuMFkZFH.js";
27
+ import "../chunks/sr_only_close_button-JGole5Xi.js";
28
+ import "@tiptap/vue-2";
29
+ import "@tiptap/extension-blockquote";
30
+ import "@tiptap/extension-code-block";
31
+ import "@tiptap/extension-document";
32
+ import "@tiptap/extension-hard-break";
33
+ import "@tiptap/extension-paragraph";
34
+ import "@tiptap/extension-placeholder";
35
+ import "@tiptap/extension-bold";
36
+ import "@tiptap/extension-bullet-list";
37
+ import "@tiptap/extension-italic";
38
+ import "@tiptap/extension-link";
39
+ import "@tiptap/extension-list-item";
40
+ import "@tiptap/extension-ordered-list";
41
+ import "@tiptap/extension-strike";
42
+ import "@tiptap/extension-underline";
43
+ import "@tiptap/extension-text";
44
+ import "@tiptap/extension-text-align";
45
+ import "@tiptap/core";
46
+ import "../chunks/index-o4OMWMuv.js";
47
+ import "emoji-regex";
48
+ import "emoji-toolkit/emoji_strategy.json";
49
+ import "@tiptap/pm/state";
50
+ import "@tiptap/suggestion";
51
+ import "./list-item.js";
52
+ import "../chunks/list_item_constants-LTUc74pD.js";
53
+ import "./item-layout.js";
54
+ import "./stack.js";
55
+ import "../chunks/stack_constants-u7tNqGtc.js";
56
+ import "@tiptap/extension-mention";
57
+ import "./link.js";
58
+ import "./avatar.js";
59
+ import "./presence.js";
6
60
  const h = {
7
61
  name: "DtRecipeMessageInput",
8
62
  components: {
9
- DtButton: u,
10
- DtEmojiPicker: m,
11
- DtIcon: c,
12
- DtInput: d,
13
- DtPopover: o,
14
- DtRichTextEditor: s,
63
+ DtButton: r,
64
+ DtEmojiPicker: s,
65
+ DtIcon: l,
66
+ DtInput: u,
67
+ DtPopover: c,
68
+ DtRichTextEditor: m,
15
69
  DtTooltip: f
16
70
  },
17
71
  mixins: [],
@@ -64,7 +118,7 @@ const h = {
64
118
  type: [Boolean, String, Number],
65
119
  default: !1,
66
120
  validator(t) {
67
- return typeof t == "string" ? r.includes(t) : !0;
121
+ return typeof t == "string" ? p.includes(t) : !0;
68
122
  }
69
123
  },
70
124
  /**
@@ -77,7 +131,7 @@ const h = {
77
131
  type: String,
78
132
  default: "text",
79
133
  validator(t) {
80
- return l.includes(t);
134
+ return d.includes(t);
81
135
  }
82
136
  },
83
137
  /**
@@ -299,8 +353,8 @@ const h = {
299
353
  },
300
354
  onDrop(t) {
301
355
  t.stopPropagation(), t.preventDefault();
302
- const e = t.dataTransfer, i = Array.from(e.files);
303
- this.$emit("add-media", i);
356
+ const e = t.dataTransfer, o = Array.from(e.files);
357
+ this.$emit("add-media", o);
304
358
  },
305
359
  onPaste(t) {
306
360
  if (t.clipboardData.files.length) {
@@ -352,8 +406,8 @@ const h = {
352
406
  }
353
407
  };
354
408
  var g = function() {
355
- var e = this, i = e._self._c;
356
- return i("div", { class: [
409
+ var e = this, o = e._self._c;
410
+ return o("div", { class: [
357
411
  "d-d-flex",
358
412
  "d-fd-column",
359
413
  "d-bar8",
@@ -361,66 +415,66 @@ var g = function() {
361
415
  "d-ba",
362
416
  "d-c-text",
363
417
  { "d-bc-bold d-bs-sm": e.hasFocus, "d-bc-default": !e.hasFocus }
364
- ], attrs: { "data-qa": "dt-message-input", role: "presentation" }, on: { click: function(a) {
418
+ ], attrs: { "data-qa": "dt-message-input", role: "presentation" }, on: { click: function(i) {
365
419
  var n;
366
420
  (n = e.$refs.richTextEditor) == null || n.focusEditor();
367
- }, "drag-enter": e.onDrag, "drag-over": e.onDrag, drop: e.onDrop, keydown: function(a) {
368
- return !a.type.indexOf("key") && e._k(a.keyCode, "enter", 13, a.key, "Enter") || a.ctrlKey || a.shiftKey || a.altKey || a.metaKey ? null : e.onSend.apply(null, arguments);
369
- }, paste: e.onPaste } }, [i("div", { staticClass: "d-of-auto d-mx16 d-mt8 d-mb4", style: { "max-height": e.maxHeight } }, [i("dt-rich-text-editor", e._b({ ref: "richTextEditor", attrs: { editable: e.editable, "input-aria-label": e.inputAriaLabel, "input-class": e.inputClass, "output-format": e.outputFormat, "auto-focus": e.autoFocus, link: e.link, placeholder: e.placeholder, "mention-suggestion": e.mentionSuggestion }, on: { focus: e.onFocus, blur: e.onBlur, input: function(a) {
370
- return e.onInput(a);
371
- } }, model: { value: e.internalInputValue, callback: function(a) {
372
- e.internalInputValue = a;
373
- }, expression: "internalInputValue" } }, "dt-rich-text-editor", e.$attrs, !1))], 1), e._t("middle"), i("section", { staticClass: "d-d-flex d-jc-space-between d-mx8 d-my4" }, [i("div", { staticClass: "d-d-flex" }, [e.showImagePicker ? i("dt-tooltip", { attrs: { placement: "top-start", message: e.showImagePicker.tooltipLabel, offset: [-4, -4] }, scopedSlots: e._u([{ key: "anchor", fn: function() {
374
- return [i("dt-button", { attrs: { "data-qa": "dt-message-input-image-btn", size: "sm", circle: "", kind: e.imagePickerFocus ? "default" : "muted", importance: "clear", "aria-label": e.showImagePicker.ariaLabel }, on: { click: e.onSelectImage, mouseenter: function(a) {
421
+ }, "drag-enter": e.onDrag, "drag-over": e.onDrag, drop: e.onDrop, keydown: function(i) {
422
+ return !i.type.indexOf("key") && e._k(i.keyCode, "enter", 13, i.key, "Enter") || i.ctrlKey || i.shiftKey || i.altKey || i.metaKey ? null : e.onSend.apply(null, arguments);
423
+ }, paste: e.onPaste } }, [o("div", { staticClass: "d-of-auto d-mx16 d-mt8 d-mb4", style: { "max-height": e.maxHeight } }, [o("dt-rich-text-editor", e._b({ ref: "richTextEditor", attrs: { editable: e.editable, "input-aria-label": e.inputAriaLabel, "input-class": e.inputClass, "output-format": e.outputFormat, "auto-focus": e.autoFocus, link: e.link, placeholder: e.placeholder, "mention-suggestion": e.mentionSuggestion }, on: { focus: e.onFocus, blur: e.onBlur, input: function(i) {
424
+ return e.onInput(i);
425
+ } }, model: { value: e.internalInputValue, callback: function(i) {
426
+ e.internalInputValue = i;
427
+ }, expression: "internalInputValue" } }, "dt-rich-text-editor", e.$attrs, !1))], 1), e._t("middle"), o("section", { staticClass: "d-d-flex d-jc-space-between d-mx8 d-my4" }, [o("div", { staticClass: "d-d-flex" }, [e.showImagePicker ? o("dt-tooltip", { attrs: { placement: "top-start", message: e.showImagePicker.tooltipLabel, offset: [-4, -4] }, scopedSlots: e._u([{ key: "anchor", fn: function() {
428
+ return [o("dt-button", { attrs: { "data-qa": "dt-message-input-image-btn", size: "sm", circle: "", kind: e.imagePickerFocus ? "default" : "muted", importance: "clear", "aria-label": e.showImagePicker.ariaLabel }, on: { click: e.onSelectImage, mouseenter: function(i) {
375
429
  e.imagePickerFocus = !0;
376
- }, mouseleave: function(a) {
430
+ }, mouseleave: function(i) {
377
431
  e.imagePickerFocus = !1;
378
- }, focus: function(a) {
432
+ }, focus: function(i) {
379
433
  e.imagePickerFocus = !0;
380
- }, blur: function(a) {
434
+ }, blur: function(i) {
381
435
  e.imagePickerFocus = !1;
382
436
  } }, scopedSlots: e._u([{ key: "icon", fn: function() {
383
- return [i("dt-icon", { attrs: { name: "image", size: "300" } })];
384
- }, proxy: !0 }], null, !1, 2561380377) }), i("dt-input", { ref: "messageInputImageUpload", staticClass: "d-ps-absolute", attrs: { "data-qa": "dt-message-input-image-input", type: "file", multiple: "", hidden: "" }, on: { input: e.onImageUpload } })];
385
- }, proxy: !0 }], null, !1, 3687934814) }) : e._e(), e.showEmojiPicker ? i("dt-popover", { attrs: { "data-qa": "dt-message-input-emoji-picker-popover", open: e.emojiPickerOpened, "initial-focus-element": "#searchInput", padding: "none" }, on: { opened: (a) => {
386
- e.emojiPickerOpened = a;
437
+ return [o("dt-icon", { attrs: { name: "image", size: "300" } })];
438
+ }, proxy: !0 }], null, !1, 2561380377) }), o("dt-input", { ref: "messageInputImageUpload", staticClass: "d-ps-absolute", attrs: { "data-qa": "dt-message-input-image-input", type: "file", multiple: "", hidden: "" }, on: { input: e.onImageUpload } })];
439
+ }, proxy: !0 }], null, !1, 3687934814) }) : e._e(), e.showEmojiPicker ? o("dt-popover", { attrs: { "data-qa": "dt-message-input-emoji-picker-popover", open: e.emojiPickerOpened, "initial-focus-element": "#searchInput", padding: "none" }, on: { opened: (i) => {
440
+ e.emojiPickerOpened = i;
387
441
  } }, scopedSlots: e._u([{ key: "anchor", fn: function() {
388
- return [i("dt-tooltip", { attrs: { message: e.emojiTooltipMessage, offset: [0, -4] }, scopedSlots: e._u([{ key: "anchor", fn: function() {
389
- return [i("dt-button", { attrs: { "data-qa": "dt-message-input-emoji-picker-btn", size: "sm", circle: "", kind: e.emojiPickerHovered ? "default" : "muted", importance: "clear", "aria-label": e.emojiButtonAriaLabel, offset: [0, 0] }, on: { click: e.toggleEmojiPicker, mouseenter: function(a) {
442
+ return [o("dt-tooltip", { attrs: { message: e.emojiTooltipMessage, offset: [0, -4] }, scopedSlots: e._u([{ key: "anchor", fn: function() {
443
+ return [o("dt-button", { attrs: { "data-qa": "dt-message-input-emoji-picker-btn", size: "sm", circle: "", kind: e.emojiPickerHovered ? "default" : "muted", importance: "clear", "aria-label": e.emojiButtonAriaLabel, offset: [0, 0] }, on: { click: e.toggleEmojiPicker, mouseenter: function(i) {
390
444
  e.emojiPickerFocus = !0;
391
- }, mouseleave: function(a) {
445
+ }, mouseleave: function(i) {
392
446
  e.emojiPickerFocus = !1;
393
- }, focus: function(a) {
447
+ }, focus: function(i) {
394
448
  e.emojiPickerFocus = !0;
395
- }, blur: function(a) {
449
+ }, blur: function(i) {
396
450
  e.emojiPickerFocus = !1;
397
451
  } }, scopedSlots: e._u([{ key: "icon", fn: function() {
398
- return [i("dt-icon", { attrs: { name: e.emojiPickerHovered ? "very-satisfied" : "satisfied", size: "300" } })];
452
+ return [o("dt-icon", { attrs: { name: e.emojiPickerHovered ? "very-satisfied" : "satisfied", size: "300" } })];
399
453
  }, proxy: !0 }], null, !1, 352772906) })];
400
454
  }, proxy: !0 }], null, !1, 3933528398) })];
401
455
  }, proxy: !0 }, { key: "content", fn: function() {
402
- return [i("dt-emoji-picker", e._b({ on: { "skin-tone": e.onSkinTone, "selected-emoji": e.onSelectEmoji } }, "dt-emoji-picker", e.emojiPickerProps, !1))];
403
- }, proxy: !0 }], null, !1, 1278205067) }) : e._e()], 1), i("div", { staticClass: "d-d-flex" }, [e.showCharacterLimit ? i("dt-tooltip", { staticClass: "dt-message-input--remaining-char-tooltip", attrs: { placement: "top-end", enabled: e.characterLimitTooltipEnabled, message: e.showCharacterLimit.message, offset: [10, -8] }, scopedSlots: e._u([{ key: "anchor", fn: function() {
404
- return [i("p", { directives: [{ name: "show", rawName: "v-show", value: e.displayCharacterLimitWarning, expression: "displayCharacterLimitWarning" }], staticClass: "d-fc-error d-mr16 dt-message-input--remaining-char", attrs: { "data-qa": "dt-message-input-character-limit" } }, [e._v(" " + e._s(e.showCharacterLimit.count - e.inputLength) + " ")])];
405
- }, proxy: !0 }], null, !1, 2591914334) }) : e._e(), e.showCancel ? i("dt-button", { staticClass: "dt-message-input--cancel-button", attrs: { "data-qa": "dt-message-input-cancel-button", size: "sm", kind: "muted", importance: "clear", "aria-label": e.showCancel.ariaLabel }, on: { click: e.onCancel } }, [i("p", [e._v(e._s(e.showCancel.text))])]) : e._e(), e.showSend ? i("dt-tooltip", { attrs: { placement: "top-end", enabled: !e.showSend, message: e.showSend.tooltipLabel, show: !e.isSendDisabled && e.sendButtonFocus, offset: [6, -8] }, scopedSlots: e._u([{ key: "anchor", fn: function() {
406
- return [i("dt-button", { class: [
456
+ return [o("dt-emoji-picker", e._b({ on: { "skin-tone": e.onSkinTone, "selected-emoji": e.onSelectEmoji } }, "dt-emoji-picker", e.emojiPickerProps, !1))];
457
+ }, proxy: !0 }], null, !1, 1278205067) }) : e._e()], 1), o("div", { staticClass: "d-d-flex" }, [e.showCharacterLimit ? o("dt-tooltip", { staticClass: "dt-message-input--remaining-char-tooltip", attrs: { placement: "top-end", enabled: e.characterLimitTooltipEnabled, message: e.showCharacterLimit.message, offset: [10, -8] }, scopedSlots: e._u([{ key: "anchor", fn: function() {
458
+ return [o("p", { directives: [{ name: "show", rawName: "v-show", value: e.displayCharacterLimitWarning, expression: "displayCharacterLimitWarning" }], staticClass: "d-fc-error d-mr16 dt-message-input--remaining-char", attrs: { "data-qa": "dt-message-input-character-limit" } }, [e._v(" " + e._s(e.showCharacterLimit.count - e.inputLength) + " ")])];
459
+ }, proxy: !0 }], null, !1, 2591914334) }) : e._e(), e.showCancel ? o("dt-button", { staticClass: "dt-message-input--cancel-button", attrs: { "data-qa": "dt-message-input-cancel-button", size: "sm", kind: "muted", importance: "clear", "aria-label": e.showCancel.ariaLabel }, on: { click: e.onCancel } }, [o("p", [e._v(e._s(e.showCancel.text))])]) : e._e(), e.showSend ? o("dt-tooltip", { attrs: { placement: "top-end", enabled: !e.showSend, message: e.showSend.tooltipLabel, show: !e.isSendDisabled && e.sendButtonFocus, offset: [6, -8] }, scopedSlots: e._u([{ key: "anchor", fn: function() {
460
+ return [o("dt-button", { class: [
407
461
  "d-btn--circle",
408
462
  {
409
463
  "message-input-button__disabled d-fc-muted": e.isSendDisabled
410
464
  }
411
- ], attrs: { "data-qa": "dt-message-input-send-btn", size: "sm", kind: "default", importance: "primary", "aria-label": e.showSend.ariaLabel, "aria-disabled": e.isSendDisabled }, on: { click: e.onSend, mouseenter: function(a) {
465
+ ], attrs: { "data-qa": "dt-message-input-send-btn", size: "sm", kind: "default", importance: "primary", "aria-label": e.showSend.ariaLabel, "aria-disabled": e.isSendDisabled }, on: { click: e.onSend, mouseenter: function(i) {
412
466
  e.sendButtonFocus = !0;
413
- }, mouseleave: function(a) {
467
+ }, mouseleave: function(i) {
414
468
  e.sendButtonFocus = !1;
415
- }, focus: function(a) {
469
+ }, focus: function(i) {
416
470
  e.sendButtonFocus = !0;
417
- }, blur: function(a) {
471
+ }, blur: function(i) {
418
472
  e.sendButtonFocus = !1;
419
473
  } }, scopedSlots: e._u([e.showSend.icon ? { key: "icon", fn: function() {
420
- return [i("dt-icon", { attrs: { name: e.showSend.icon, size: "300" } })];
421
- }, proxy: !0 } : null], null, !0) }, [e.showSend.text ? [i("p", [e._v(e._s(e.showSend.text))])] : e._e()], 2)];
474
+ return [o("dt-icon", { attrs: { name: e.showSend.icon, size: "300" } })];
475
+ }, proxy: !0 } : null], null, !0) }, [e.showSend.text ? [o("p", [e._v(e._s(e.showSend.text))])] : e._e()], 2)];
422
476
  }, proxy: !0 }], null, !1, 2968465028) }) : e._e()], 1)])], 2);
423
- }, b = [], k = /* @__PURE__ */ p(
477
+ }, b = [], k = /* @__PURE__ */ a(
424
478
  h,
425
479
  g,
426
480
  b,
@@ -430,10 +484,8 @@ var g = function() {
430
484
  null,
431
485
  null
432
486
  );
433
- const v = k.exports;
487
+ const ve = k.exports;
434
488
  export {
435
- v as DtRecipeMessageInput,
436
- s as DtRichTextEditor,
437
- r as RICH_TEXT_EDITOR_AUTOFOCUS_TYPES,
438
- l as RICH_TEXT_EDITOR_OUTPUT_FORMATS
489
+ ve as DtRecipeMessageInput
439
490
  };
491
+ //# sourceMappingURL=message-input.js.map
@@ -0,0 +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 value: {\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.value, // 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 value (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"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { C as x, G as e, I as s } from "../chunks/input-1tm09l_-.js";
2
+ import { I } from "../chunks/input_group-zcAq3DQl.js";
3
+ import { K as M } from "../chunks/keyboard_list_navigation-F0O8nht0.js";
4
+ import "vue";
5
+ import "./constants.js";
6
+ import "./validators.js";
7
+ import "./utils.js";
8
+ import "./validation-messages.js";
9
+ import "../chunks/_plugin-vue2_normalizer-u6G_3nkj.js";
10
+ export {
11
+ x as DtCheckableInputMixin,
12
+ e as DtGroupableInputMixin,
13
+ I as DtInputGroupMixin,
14
+ s as DtInputMixin,
15
+ M as DtKeyboardListNavigationMixin
16
+ };
17
+ //# sourceMappingURL=mixins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixins.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}