@dialpad/dialtone-vue 2.158.0 → 2.159.0-beta.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 (183) hide show
  1. package/dist/common/sr_only_close_button.vue.cjs +3 -3
  2. package/dist/common/sr_only_close_button.vue.cjs.map +1 -1
  3. package/dist/common/sr_only_close_button.vue.js +3 -3
  4. package/dist/common/sr_only_close_button.vue.js.map +1 -1
  5. package/dist/component-documentation.json +1 -1
  6. package/dist/components/badge/badge.vue.cjs +13 -34
  7. package/dist/components/badge/badge.vue.cjs.map +1 -1
  8. package/dist/components/badge/badge.vue.js +13 -34
  9. package/dist/components/badge/badge.vue.js.map +1 -1
  10. package/dist/components/chip/chip.vue.cjs +4 -4
  11. package/dist/components/chip/chip.vue.cjs.map +1 -1
  12. package/dist/components/chip/chip.vue.js +4 -4
  13. package/dist/components/chip/chip.vue.js.map +1 -1
  14. package/dist/components/collapsible/collapsible.vue.cjs +4 -3
  15. package/dist/components/collapsible/collapsible.vue.cjs.map +1 -1
  16. package/dist/components/collapsible/collapsible.vue.js +4 -3
  17. package/dist/components/collapsible/collapsible.vue.js.map +1 -1
  18. package/dist/components/datepicker/modules/month-year-picker.vue.cjs +14 -6
  19. package/dist/components/datepicker/modules/month-year-picker.vue.cjs.map +1 -1
  20. package/dist/components/datepicker/modules/month-year-picker.vue.js +14 -6
  21. package/dist/components/datepicker/modules/month-year-picker.vue.js.map +1 -1
  22. package/dist/components/emoji_picker/modules/emoji_search.vue.cjs +6 -5
  23. package/dist/components/emoji_picker/modules/emoji_search.vue.cjs.map +1 -1
  24. package/dist/components/emoji_picker/modules/emoji_search.vue.js +6 -5
  25. package/dist/components/emoji_picker/modules/emoji_search.vue.js.map +1 -1
  26. package/dist/components/emoji_picker/modules/emoji_tabset.vue.cjs +23 -14
  27. package/dist/components/emoji_picker/modules/emoji_tabset.vue.cjs.map +1 -1
  28. package/dist/components/emoji_picker/modules/emoji_tabset.vue.js +23 -14
  29. package/dist/components/emoji_picker/modules/emoji_tabset.vue.js.map +1 -1
  30. package/dist/components/empty_state/empty_state.vue.cjs +20 -80
  31. package/dist/components/empty_state/empty_state.vue.cjs.map +1 -1
  32. package/dist/components/empty_state/empty_state.vue.js +21 -81
  33. package/dist/components/empty_state/empty_state.vue.js.map +1 -1
  34. package/dist/components/empty_state/empty_state_constants.cjs +18 -0
  35. package/dist/components/empty_state/empty_state_constants.cjs.map +1 -1
  36. package/dist/components/empty_state/empty_state_constants.js +18 -0
  37. package/dist/components/empty_state/empty_state_constants.js.map +1 -1
  38. package/dist/components/illustration/illustration.vue.cjs +2 -2
  39. package/dist/components/illustration/illustration.vue.js +2 -2
  40. package/dist/components/image_viewer/image_viewer.vue.cjs +4 -4
  41. package/dist/components/image_viewer/image_viewer.vue.cjs.map +1 -1
  42. package/dist/components/image_viewer/image_viewer.vue.js +4 -4
  43. package/dist/components/image_viewer/image_viewer.vue.js.map +1 -1
  44. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.cjs +24 -9
  45. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.cjs.map +1 -1
  46. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.js +22 -7
  47. package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.js.map +1 -1
  48. package/dist/components/keyboard_shortcut/keyboard_shortcut_constants.cjs +8 -14
  49. package/dist/components/keyboard_shortcut/keyboard_shortcut_constants.cjs.map +1 -1
  50. package/dist/components/keyboard_shortcut/keyboard_shortcut_constants.js +9 -15
  51. package/dist/components/keyboard_shortcut/keyboard_shortcut_constants.js.map +1 -1
  52. package/dist/components/list_item/list_item.vue.cjs +3 -3
  53. package/dist/components/list_item/list_item.vue.cjs.map +1 -1
  54. package/dist/components/list_item/list_item.vue.js +3 -3
  55. package/dist/components/list_item/list_item.vue.js.map +1 -1
  56. package/dist/components/modal/modal.vue.cjs +4 -4
  57. package/dist/components/modal/modal.vue.cjs.map +1 -1
  58. package/dist/components/modal/modal.vue.js +4 -4
  59. package/dist/components/modal/modal.vue.js.map +1 -1
  60. package/dist/components/notice/notice_action.vue.cjs +4 -4
  61. package/dist/components/notice/notice_action.vue.cjs.map +1 -1
  62. package/dist/components/notice/notice_action.vue.js +4 -4
  63. package/dist/components/notice/notice_action.vue.js.map +1 -1
  64. package/dist/components/notice/notice_icon.vue.cjs +12 -8
  65. package/dist/components/notice/notice_icon.vue.cjs.map +1 -1
  66. package/dist/components/notice/notice_icon.vue.js +12 -8
  67. package/dist/components/notice/notice_icon.vue.js.map +1 -1
  68. package/dist/components/pagination/pagination.vue.cjs +11 -5
  69. package/dist/components/pagination/pagination.vue.cjs.map +1 -1
  70. package/dist/components/pagination/pagination.vue.js +11 -5
  71. package/dist/components/pagination/pagination.vue.js.map +1 -1
  72. package/dist/components/popover/popover_header_footer.vue.cjs +4 -4
  73. package/dist/components/popover/popover_header_footer.vue.cjs.map +1 -1
  74. package/dist/components/popover/popover_header_footer.vue.js +4 -4
  75. package/dist/components/popover/popover_header_footer.vue.js.map +1 -1
  76. package/dist/components/rich_text_editor/extensions/emoji/emoji.cjs +38 -40
  77. package/dist/components/rich_text_editor/extensions/emoji/emoji.cjs.map +1 -1
  78. package/dist/components/rich_text_editor/extensions/emoji/emoji.js +40 -42
  79. package/dist/components/rich_text_editor/extensions/emoji/emoji.js.map +1 -1
  80. package/dist/components/rich_text_editor/extensions/emoji/index.cjs +3 -1
  81. package/dist/components/rich_text_editor/extensions/emoji/index.cjs.map +1 -1
  82. package/dist/components/rich_text_editor/extensions/emoji/index.js +1 -0
  83. package/dist/components/rich_text_editor/extensions/emoji/suggestion.cjs +0 -4
  84. package/dist/components/rich_text_editor/extensions/emoji/suggestion.cjs.map +1 -1
  85. package/dist/components/rich_text_editor/extensions/emoji/suggestion.js +0 -4
  86. package/dist/components/rich_text_editor/extensions/emoji/suggestion.js.map +1 -1
  87. package/dist/dialtone-vue.cjs +0 -3
  88. package/dist/dialtone-vue.cjs.map +1 -1
  89. package/dist/dialtone-vue.js +2 -5
  90. package/dist/lib/general-row.cjs +0 -1
  91. package/dist/lib/general-row.cjs.map +1 -1
  92. package/dist/lib/general-row.js +1 -2
  93. package/dist/lib/keyboard-shortcut.cjs +0 -2
  94. package/dist/lib/keyboard-shortcut.cjs.map +1 -1
  95. package/dist/lib/keyboard-shortcut.js +2 -4
  96. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs +5 -5
  97. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.cjs.map +1 -1
  98. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js +5 -5
  99. package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.js.map +1 -1
  100. package/dist/recipes/cards/ivr_node/ivr_node.vue.cjs +25 -5
  101. package/dist/recipes/cards/ivr_node/ivr_node.vue.cjs.map +1 -1
  102. package/dist/recipes/cards/ivr_node/ivr_node.vue.js +26 -6
  103. package/dist/recipes/cards/ivr_node/ivr_node.vue.js.map +1 -1
  104. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs +5 -4
  105. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.cjs.map +1 -1
  106. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js +5 -4
  107. package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.js.map +1 -1
  108. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs +3 -3
  109. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.cjs.map +1 -1
  110. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js +3 -3
  111. package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.js.map +1 -1
  112. package/dist/recipes/conversation_view/editor/editor.vue.cjs +35 -22
  113. package/dist/recipes/conversation_view/editor/editor.vue.cjs.map +1 -1
  114. package/dist/recipes/conversation_view/editor/editor.vue.js +35 -22
  115. package/dist/recipes/conversation_view/editor/editor.vue.js.map +1 -1
  116. package/dist/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.cjs +3 -3
  117. package/dist/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.cjs.map +1 -1
  118. package/dist/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.js +3 -3
  119. package/dist/recipes/conversation_view/message_input/meeting_pill/MeetingPill.vue.js.map +1 -1
  120. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.cjs +6 -6
  121. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.cjs.map +1 -1
  122. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.js +6 -6
  123. package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.js.map +1 -1
  124. package/dist/recipes/leftbar/general_row/general_row.vue.cjs +8 -7
  125. package/dist/recipes/leftbar/general_row/general_row.vue.cjs.map +1 -1
  126. package/dist/recipes/leftbar/general_row/general_row.vue.js +8 -7
  127. package/dist/recipes/leftbar/general_row/general_row.vue.js.map +1 -1
  128. package/dist/recipes/leftbar/general_row/general_row_constants.cjs +0 -17
  129. package/dist/recipes/leftbar/general_row/general_row_constants.cjs.map +1 -1
  130. package/dist/recipes/leftbar/general_row/general_row_constants.js +0 -17
  131. package/dist/recipes/leftbar/general_row/general_row_constants.js.map +1 -1
  132. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs +36 -4
  133. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.cjs.map +1 -1
  134. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js +37 -5
  135. package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.js.map +1 -1
  136. package/dist/recipes/leftbar/group_row/group_row.vue.cjs +3 -3
  137. package/dist/recipes/leftbar/group_row/group_row.vue.cjs.map +1 -1
  138. package/dist/recipes/leftbar/group_row/group_row.vue.js +3 -3
  139. package/dist/recipes/leftbar/group_row/group_row.vue.js.map +1 -1
  140. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.cjs +4 -3
  141. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.cjs.map +1 -1
  142. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.js +4 -3
  143. package/dist/recipes/leftbar/unread_pill/unread_pill.vue.js.map +1 -1
  144. package/dist/style.css +62 -62
  145. package/dist/types/components/badge/badge.vue.d.ts +16 -45
  146. package/dist/types/components/badge/badge.vue.d.ts.map +1 -1
  147. package/dist/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  148. package/dist/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts +1 -67
  149. package/dist/types/components/empty_state/empty_state_constants.d.ts +27 -0
  150. package/dist/types/components/keyboard_shortcut/index.d.ts +1 -1
  151. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +7 -15
  152. package/dist/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
  153. package/dist/types/components/keyboard_shortcut/keyboard_shortcut_constants.d.ts +0 -11
  154. package/dist/types/components/keyboard_shortcut/keyboard_shortcut_constants.d.ts.map +1 -1
  155. package/dist/types/components/modal/modal.vue.d.ts +4 -6
  156. package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
  157. package/dist/types/components/notice/notice_action.vue.d.ts +5 -4
  158. package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
  159. package/dist/types/components/notice/notice_icon.vue.d.ts +1 -1
  160. package/dist/types/components/notice/notice_icon.vue.d.ts.map +1 -1
  161. package/dist/types/components/pagination/pagination.vue.d.ts.map +1 -1
  162. package/dist/types/components/rich_text_editor/extensions/channels/channel.d.ts +1 -1
  163. package/dist/types/components/rich_text_editor/extensions/channels/channel.d.ts.map +1 -1
  164. package/dist/types/components/rich_text_editor/extensions/emoji/emoji.d.ts +0 -2
  165. package/dist/types/components/rich_text_editor/extensions/emoji/emoji.d.ts.map +1 -1
  166. package/dist/types/components/rich_text_editor/extensions/emoji/index.d.ts +1 -0
  167. package/dist/types/components/rich_text_editor/extensions/emoji/index.d.ts.map +1 -1
  168. package/dist/types/components/rich_text_editor/extensions/emoji/suggestion.d.ts.map +1 -1
  169. package/dist/types/components/rich_text_editor/extensions/mentions/mention.d.ts +1 -1
  170. package/dist/types/components/rich_text_editor/extensions/mentions/mention.d.ts.map +1 -1
  171. package/dist/types/components/rich_text_editor/extensions/slash_command/slash_command.d.ts +1 -1
  172. package/dist/types/components/rich_text_editor/extensions/slash_command/slash_command.d.ts.map +1 -1
  173. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  174. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  175. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +8 -8
  176. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  177. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  178. package/dist/types/recipes/leftbar/general_row/general_row_constants.d.ts +0 -6
  179. package/dist/types/recipes/leftbar/general_row/general_row_constants.d.ts.map +1 -1
  180. package/dist/types/recipes/leftbar/general_row/index.d.ts +1 -1
  181. package/dist/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +1 -1
  182. package/dist/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  183. package/package.json +24 -24
@@ -1,24 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const core = require("@tiptap/core");
4
+ const state = require("@tiptap/pm/state");
4
5
  const vue2 = require("@tiptap/vue-2");
6
+ const Suggestion = require("@tiptap/suggestion");
7
+ const regexCombinedEmojis = require("regex-combined-emojis");
5
8
  const EmojiComponent = require("./EmojiComponent.vue.cjs");
6
9
  const common_emoji = require("../../../../common/emoji.cjs");
7
- const state = require("@tiptap/pm/state");
8
- const Suggestion = require("@tiptap/suggestion");
9
10
  const suggestion = require("./suggestion.cjs");
10
- const regexCombinedEmojis = require("regex-combined-emojis");
11
- const EmojiPluginKey = new state.PluginKey("emoji");
12
- const inputShortCodeRegex = new RegExp("(^| |(?<=:))(:\\w+:)$");
11
+ const inputShortCodeRegex = /(:\w+:)$/;
13
12
  const inputUnicodeRegex = new RegExp(regexCombinedEmojis.emojiPattern + "$");
14
13
  const inputRuleMatch = (match) => {
15
14
  if (match && common_emoji.codeToEmojiData(match[0])) {
16
15
  const text = match[2] || match[0];
17
- return {
18
- index: match.index,
19
- text,
20
- match
21
- };
16
+ return { text };
22
17
  }
23
18
  };
24
19
  const shortCodePasteMatch = (text) => {
@@ -30,19 +25,16 @@ const shortCodePasteMatch = (text) => {
30
25
  }));
31
26
  };
32
27
  const Emoji = core.Node.create({
28
+ name: "emoji",
33
29
  addOptions() {
34
30
  return {
35
- HTMLAttributes: {},
36
- suggestion: {
37
- char: ":",
38
- pluginKey: EmojiPluginKey
39
- }
31
+ HTMLAttributes: {}
40
32
  };
41
33
  },
42
- name: "emoji",
43
34
  group: "inline",
44
35
  inline: true,
45
- selectable: true,
36
+ selectable: false,
37
+ atom: true,
46
38
  addNodeView() {
47
39
  return vue2.VueNodeViewRenderer(EmojiComponent);
48
40
  },
@@ -69,32 +61,17 @@ const Emoji = core.Node.create({
69
61
  },
70
62
  addInputRules() {
71
63
  return [
72
- // shortcode input
73
- core.nodeInputRule({
64
+ new core.InputRule({
74
65
  find: (text) => {
75
- const match = text.match(inputShortCodeRegex);
66
+ const match = text.match(inputShortCodeRegex) || text.match(inputUnicodeRegex);
76
67
  if (!match) return;
77
68
  return inputRuleMatch(match);
78
69
  },
79
- type: this.type,
80
- getAttributes(attrs) {
81
- return {
82
- code: attrs[0]
83
- };
84
- }
85
- }),
86
- core.nodeInputRule({
87
- find: (text) => {
88
- const match = text.match(inputUnicodeRegex);
89
- if (!match) return;
90
- return inputRuleMatch(match);
91
- },
92
- type: this.type,
93
- getAttributes(attrs) {
94
- const emoji = common_emoji.codeToEmojiData(attrs[0]).shortname;
95
- return {
96
- code: emoji
97
- };
70
+ handler: ({ state: state2, range, match, commands, chain, can }) => {
71
+ const { tr } = state2;
72
+ const start = range.from;
73
+ const end = range.to;
74
+ tr.replaceWith(start, end, this.type.create({ code: match[0] }));
98
75
  }
99
76
  })
100
77
  ];
@@ -124,13 +101,34 @@ const Emoji = core.Node.create({
124
101
  addProseMirrorPlugins() {
125
102
  return [
126
103
  Suggestion({
104
+ char: ":",
105
+ pluginKey: new state.PluginKey("emoji"),
127
106
  editor: this.editor,
128
107
  ...this.options.suggestion,
129
108
  ...suggestion
130
109
  })
131
110
  ];
111
+ },
112
+ addKeyboardShortcuts() {
113
+ return {
114
+ Backspace: () => this.editor.commands.command(({ tr, state: state2 }) => {
115
+ let isEmoji = false;
116
+ const { selection } = state2;
117
+ const { empty, anchor } = selection;
118
+ if (!empty) {
119
+ return false;
120
+ }
121
+ state2.doc.nodesBetween(anchor - 1, anchor, (node, pos) => {
122
+ if (node.type.name === this.name) {
123
+ isEmoji = true;
124
+ tr.insertText("", pos, pos + node.nodeSize);
125
+ return false;
126
+ }
127
+ });
128
+ return isEmoji;
129
+ })
130
+ };
132
131
  }
133
132
  });
134
133
  exports.Emoji = Emoji;
135
- exports.EmojiPluginKey = EmojiPluginKey;
136
134
  //# sourceMappingURL=emoji.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"emoji.cjs","sources":["../../../../../components/rich_text_editor/extensions/emoji/emoji.js"],"sourcesContent":["import { mergeAttributes, Node, nodeInputRule, nodePasteRule } from '@tiptap/core';\nimport { VueNodeViewRenderer } from '@tiptap/vue-2';\nimport EmojiComponent from './EmojiComponent.vue';\nimport { codeToEmojiData, emojiShortCodeRegex, emojiRegex, stringToUnicode } from '@/common/emoji';\nimport { PluginKey } from '@tiptap/pm/state';\n\nimport Suggestion from '@tiptap/suggestion';\nimport suggestionOptions from './suggestion';\nimport { emojiPattern } from 'regex-combined-emojis';\n\nexport const EmojiPluginKey = new PluginKey('emoji');\n\nconst inputShortCodeRegex = /(^| |(?<=:))(:\\w+:)$/;\nconst inputUnicodeRegex = new RegExp(emojiPattern + '$');\n\nconst inputRuleMatch = (match) => {\n if (match && codeToEmojiData(match[0])) {\n const text = match[2] || match[0];\n // needs to be a dict returned\n // ref type InputRuleMatch:\n // https://github.com/ueberdosis/tiptap/blob/main/packages/core/src/InputRule.ts#L16\n return {\n index: match.index,\n text,\n match,\n };\n }\n};\n\nconst shortCodePasteMatch = (text) => {\n const matches = [...text.matchAll(emojiShortCodeRegex)];\n\n return matches\n .filter(match => codeToEmojiData(match[0]))\n .map(match => ({\n index: match.index,\n text: match[0],\n match,\n }));\n};\n\nexport const Emoji = Node.create({\n addOptions () {\n return {\n HTMLAttributes: {},\n suggestion: {\n char: ':',\n pluginKey: EmojiPluginKey,\n },\n };\n },\n name: 'emoji',\n group: 'inline',\n inline: true,\n selectable: true,\n\n addNodeView () {\n return VueNodeViewRenderer(EmojiComponent);\n },\n\n addAttributes () {\n return {\n code: {\n default: null,\n },\n };\n },\n\n parseHTML () {\n return [\n {\n tag: 'emoji-component',\n },\n ];\n },\n\n renderText ({ node }) {\n // output emoji in text as unicode character rather than shortname for backwards compatibility with\n // our backend.\n const unicodeEmoji = stringToUnicode(codeToEmojiData(node.attrs.code).unicode_output);\n return unicodeEmoji;\n },\n\n renderHTML ({ HTMLAttributes }) {\n return ['emoji-component', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];\n },\n\n addInputRules () {\n return [\n // shortcode input\n nodeInputRule({\n find: (text) => {\n const match = text.match(inputShortCodeRegex);\n if (!match) return;\n return inputRuleMatch(match);\n },\n type: this.type,\n getAttributes (attrs) {\n return {\n code: attrs[0],\n };\n },\n }),\n\n nodeInputRule({\n find: (text) => {\n const match = text.match(inputUnicodeRegex);\n if (!match) return;\n return inputRuleMatch(match);\n },\n type: this.type,\n getAttributes (attrs) {\n const emoji = codeToEmojiData(attrs[0]).shortname;\n return {\n code: emoji,\n };\n },\n }),\n ];\n },\n\n addPasteRules () {\n return [\n nodePasteRule({\n find: shortCodePasteMatch,\n type: this.type,\n getAttributes (attrs) {\n return {\n code: attrs[0],\n };\n },\n }),\n nodePasteRule({\n find: emojiRegex,\n type: this.type,\n getAttributes (attrs) {\n return {\n code: attrs[0],\n };\n },\n }),\n ];\n },\n\n addProseMirrorPlugins () {\n return [\n Suggestion({\n editor: this.editor,\n ...this.options.suggestion,\n ...suggestionOptions,\n }),\n ];\n },\n});\n"],"names":["PluginKey","emojiPattern","codeToEmojiData","emojiShortCodeRegex","Node","VueNodeViewRenderer","stringToUnicode","mergeAttributes","nodeInputRule","nodePasteRule","emojiRegex","suggestionOptions"],"mappings":"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"}
1
+ {"version":3,"file":"emoji.cjs","sources":["../../../../../components/rich_text_editor/extensions/emoji/emoji.js"],"sourcesContent":["import { InputRule, mergeAttributes, Node, nodePasteRule } from '@tiptap/core';\nimport { PluginKey } from '@tiptap/pm/state';\nimport { VueNodeViewRenderer } from '@tiptap/vue-2';\nimport Suggestion from '@tiptap/suggestion';\nimport { emojiPattern } from 'regex-combined-emojis';\n\nimport EmojiComponent from './EmojiComponent.vue';\nimport { codeToEmojiData, emojiShortCodeRegex, emojiRegex, stringToUnicode } from '@/common/emoji';\nimport suggestionOptions from './suggestion';\n\nconst inputShortCodeRegex = /(:\\w+:)$/;\nconst inputUnicodeRegex = new RegExp(emojiPattern + '$');\n\nconst inputRuleMatch = (match) => {\n if (match && codeToEmojiData(match[0])) {\n const text = match[2] || match[0];\n // needs to be a dict returned\n // ref type InputRuleMatch:\n // https://github.com/ueberdosis/tiptap/blob/main/packages/core/src/InputRule.ts#L16\n return { text };\n }\n};\n\nconst shortCodePasteMatch = (text) => {\n const matches = [...text.matchAll(emojiShortCodeRegex)];\n\n return matches\n .filter(match => codeToEmojiData(match[0]))\n .map(match => ({\n index: match.index,\n text: match[0],\n match,\n }));\n};\n\nexport const Emoji = Node.create({\n name: 'emoji',\n addOptions () {\n return {\n HTMLAttributes: {},\n };\n },\n group: 'inline',\n inline: true,\n selectable: false,\n atom: true,\n\n addNodeView () {\n return VueNodeViewRenderer(EmojiComponent);\n },\n\n addAttributes () {\n return {\n code: {\n default: null,\n },\n };\n },\n\n parseHTML () {\n return [\n {\n tag: 'emoji-component',\n },\n ];\n },\n\n renderText ({ node }) {\n // output emoji in text as unicode character rather than shortname for backwards compatibility with\n // our backend.\n const unicodeEmoji = stringToUnicode(codeToEmojiData(node.attrs.code).unicode_output);\n return unicodeEmoji;\n },\n\n renderHTML ({ HTMLAttributes }) {\n return ['emoji-component', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];\n },\n\n addInputRules () {\n return [\n new InputRule({\n find: (text) => {\n const match = text.match(inputShortCodeRegex) || text.match(inputUnicodeRegex);\n if (!match) return;\n\n return inputRuleMatch(match);\n },\n handler: ({ state, range, match, commands, chain, can }) => {\n const { tr } = state;\n const start = range.from;\n const end = range.to;\n tr.replaceWith(start, end, this.type.create({ code: match[0] }));\n },\n }),\n ];\n },\n\n addPasteRules () {\n return [\n nodePasteRule({\n find: shortCodePasteMatch,\n type: this.type,\n getAttributes (attrs) {\n return {\n code: attrs[0],\n };\n },\n }),\n nodePasteRule({\n find: emojiRegex,\n type: this.type,\n getAttributes (attrs) {\n return {\n code: attrs[0],\n };\n },\n }),\n ];\n },\n\n addProseMirrorPlugins () {\n return [\n Suggestion({\n char: ':',\n pluginKey: new PluginKey('emoji'),\n editor: this.editor,\n ...this.options.suggestion,\n ...suggestionOptions,\n }),\n ];\n },\n\n addKeyboardShortcuts () {\n return {\n Backspace: () => this.editor.commands.command(({ tr, state }) => {\n let isEmoji = false;\n const { selection } = state;\n const { empty, anchor } = selection;\n if (!empty) { return false; }\n state.doc.nodesBetween(anchor - 1, anchor, (node, pos) => {\n if (node.type.name === this.name) {\n isEmoji = true;\n tr.insertText('', pos, pos + node.nodeSize);\n return false;\n }\n });\n return isEmoji;\n }),\n };\n },\n});\n"],"names":["emojiPattern","codeToEmojiData","emojiShortCodeRegex","Node","VueNodeViewRenderer","stringToUnicode","mergeAttributes","InputRule","state","nodePasteRule","emojiRegex","PluginKey","suggestionOptions"],"mappings":"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"}
@@ -1,22 +1,17 @@
1
- import { Node, mergeAttributes, nodeInputRule, nodePasteRule } from "@tiptap/core";
1
+ import { Node, mergeAttributes, InputRule, nodePasteRule } from "@tiptap/core";
2
+ import { PluginKey } from "@tiptap/pm/state";
2
3
  import { VueNodeViewRenderer } from "@tiptap/vue-2";
4
+ import Suggestion from "@tiptap/suggestion";
5
+ import { emojiPattern } from "regex-combined-emojis";
3
6
  import EmojiComponent from "./EmojiComponent.vue.js";
4
7
  import { stringToUnicode, codeToEmojiData, emojiRegex, emojiShortCodeRegex } from "../../../../common/emoji.js";
5
- import { PluginKey } from "@tiptap/pm/state";
6
- import Suggestion from "@tiptap/suggestion";
7
8
  import suggestionOptions from "./suggestion.js";
8
- import { emojiPattern } from "regex-combined-emojis";
9
- const EmojiPluginKey = new PluginKey("emoji");
10
- const inputShortCodeRegex = new RegExp("(^| |(?<=:))(:\\w+:)$");
9
+ const inputShortCodeRegex = /(:\w+:)$/;
11
10
  const inputUnicodeRegex = new RegExp(emojiPattern + "$");
12
11
  const inputRuleMatch = (match) => {
13
12
  if (match && codeToEmojiData(match[0])) {
14
13
  const text = match[2] || match[0];
15
- return {
16
- index: match.index,
17
- text,
18
- match
19
- };
14
+ return { text };
20
15
  }
21
16
  };
22
17
  const shortCodePasteMatch = (text) => {
@@ -28,19 +23,16 @@ const shortCodePasteMatch = (text) => {
28
23
  }));
29
24
  };
30
25
  const Emoji = Node.create({
26
+ name: "emoji",
31
27
  addOptions() {
32
28
  return {
33
- HTMLAttributes: {},
34
- suggestion: {
35
- char: ":",
36
- pluginKey: EmojiPluginKey
37
- }
29
+ HTMLAttributes: {}
38
30
  };
39
31
  },
40
- name: "emoji",
41
32
  group: "inline",
42
33
  inline: true,
43
- selectable: true,
34
+ selectable: false,
35
+ atom: true,
44
36
  addNodeView() {
45
37
  return VueNodeViewRenderer(EmojiComponent);
46
38
  },
@@ -67,32 +59,17 @@ const Emoji = Node.create({
67
59
  },
68
60
  addInputRules() {
69
61
  return [
70
- // shortcode input
71
- nodeInputRule({
62
+ new InputRule({
72
63
  find: (text) => {
73
- const match = text.match(inputShortCodeRegex);
64
+ const match = text.match(inputShortCodeRegex) || text.match(inputUnicodeRegex);
74
65
  if (!match) return;
75
66
  return inputRuleMatch(match);
76
67
  },
77
- type: this.type,
78
- getAttributes(attrs) {
79
- return {
80
- code: attrs[0]
81
- };
82
- }
83
- }),
84
- nodeInputRule({
85
- find: (text) => {
86
- const match = text.match(inputUnicodeRegex);
87
- if (!match) return;
88
- return inputRuleMatch(match);
89
- },
90
- type: this.type,
91
- getAttributes(attrs) {
92
- const emoji = codeToEmojiData(attrs[0]).shortname;
93
- return {
94
- code: emoji
95
- };
68
+ handler: ({ state, range, match, commands, chain, can }) => {
69
+ const { tr } = state;
70
+ const start = range.from;
71
+ const end = range.to;
72
+ tr.replaceWith(start, end, this.type.create({ code: match[0] }));
96
73
  }
97
74
  })
98
75
  ];
@@ -122,15 +99,36 @@ const Emoji = Node.create({
122
99
  addProseMirrorPlugins() {
123
100
  return [
124
101
  Suggestion({
102
+ char: ":",
103
+ pluginKey: new PluginKey("emoji"),
125
104
  editor: this.editor,
126
105
  ...this.options.suggestion,
127
106
  ...suggestionOptions
128
107
  })
129
108
  ];
109
+ },
110
+ addKeyboardShortcuts() {
111
+ return {
112
+ Backspace: () => this.editor.commands.command(({ tr, state }) => {
113
+ let isEmoji = false;
114
+ const { selection } = state;
115
+ const { empty, anchor } = selection;
116
+ if (!empty) {
117
+ return false;
118
+ }
119
+ state.doc.nodesBetween(anchor - 1, anchor, (node, pos) => {
120
+ if (node.type.name === this.name) {
121
+ isEmoji = true;
122
+ tr.insertText("", pos, pos + node.nodeSize);
123
+ return false;
124
+ }
125
+ });
126
+ return isEmoji;
127
+ })
128
+ };
130
129
  }
131
130
  });
132
131
  export {
133
- Emoji,
134
- EmojiPluginKey
132
+ Emoji
135
133
  };
136
134
  //# sourceMappingURL=emoji.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emoji.js","sources":["../../../../../components/rich_text_editor/extensions/emoji/emoji.js"],"sourcesContent":["import { mergeAttributes, Node, nodeInputRule, nodePasteRule } from '@tiptap/core';\nimport { VueNodeViewRenderer } from '@tiptap/vue-2';\nimport EmojiComponent from './EmojiComponent.vue';\nimport { codeToEmojiData, emojiShortCodeRegex, emojiRegex, stringToUnicode } from '@/common/emoji';\nimport { PluginKey } from '@tiptap/pm/state';\n\nimport Suggestion from '@tiptap/suggestion';\nimport suggestionOptions from './suggestion';\nimport { emojiPattern } from 'regex-combined-emojis';\n\nexport const EmojiPluginKey = new PluginKey('emoji');\n\nconst inputShortCodeRegex = /(^| |(?<=:))(:\\w+:)$/;\nconst inputUnicodeRegex = new RegExp(emojiPattern + '$');\n\nconst inputRuleMatch = (match) => {\n if (match && codeToEmojiData(match[0])) {\n const text = match[2] || match[0];\n // needs to be a dict returned\n // ref type InputRuleMatch:\n // https://github.com/ueberdosis/tiptap/blob/main/packages/core/src/InputRule.ts#L16\n return {\n index: match.index,\n text,\n match,\n };\n }\n};\n\nconst shortCodePasteMatch = (text) => {\n const matches = [...text.matchAll(emojiShortCodeRegex)];\n\n return matches\n .filter(match => codeToEmojiData(match[0]))\n .map(match => ({\n index: match.index,\n text: match[0],\n match,\n }));\n};\n\nexport const Emoji = Node.create({\n addOptions () {\n return {\n HTMLAttributes: {},\n suggestion: {\n char: ':',\n pluginKey: EmojiPluginKey,\n },\n };\n },\n name: 'emoji',\n group: 'inline',\n inline: true,\n selectable: true,\n\n addNodeView () {\n return VueNodeViewRenderer(EmojiComponent);\n },\n\n addAttributes () {\n return {\n code: {\n default: null,\n },\n };\n },\n\n parseHTML () {\n return [\n {\n tag: 'emoji-component',\n },\n ];\n },\n\n renderText ({ node }) {\n // output emoji in text as unicode character rather than shortname for backwards compatibility with\n // our backend.\n const unicodeEmoji = stringToUnicode(codeToEmojiData(node.attrs.code).unicode_output);\n return unicodeEmoji;\n },\n\n renderHTML ({ HTMLAttributes }) {\n return ['emoji-component', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];\n },\n\n addInputRules () {\n return [\n // shortcode input\n nodeInputRule({\n find: (text) => {\n const match = text.match(inputShortCodeRegex);\n if (!match) return;\n return inputRuleMatch(match);\n },\n type: this.type,\n getAttributes (attrs) {\n return {\n code: attrs[0],\n };\n },\n }),\n\n nodeInputRule({\n find: (text) => {\n const match = text.match(inputUnicodeRegex);\n if (!match) return;\n return inputRuleMatch(match);\n },\n type: this.type,\n getAttributes (attrs) {\n const emoji = codeToEmojiData(attrs[0]).shortname;\n return {\n code: emoji,\n };\n },\n }),\n ];\n },\n\n addPasteRules () {\n return [\n nodePasteRule({\n find: shortCodePasteMatch,\n type: this.type,\n getAttributes (attrs) {\n return {\n code: attrs[0],\n };\n },\n }),\n nodePasteRule({\n find: emojiRegex,\n type: this.type,\n getAttributes (attrs) {\n return {\n code: attrs[0],\n };\n },\n }),\n ];\n },\n\n addProseMirrorPlugins () {\n return [\n Suggestion({\n editor: this.editor,\n ...this.options.suggestion,\n ...suggestionOptions,\n }),\n ];\n },\n});\n"],"names":[],"mappings":";;;;;;;;AAUY,MAAC,iBAAiB,IAAI,UAAU,OAAO;AAEnD,MAAM,sBAAsB,WAAA,uBAAsB;AAClD,MAAM,oBAAoB,IAAI,OAAO,eAAe,GAAG;AAEvD,MAAM,iBAAiB,CAAC,UAAU;AAChC,MAAI,SAAS,gBAAgB,MAAM,CAAC,CAAC,GAAG;AACtC,UAAM,OAAO,MAAM,CAAC,KAAK,MAAM,CAAC;AAIhC,WAAO;AAAA,MACL,OAAO,MAAM;AAAA,MACb;AAAA,MACA;AAAA,IACN;AAAA,EACG;AACH;AAEA,MAAM,sBAAsB,CAAC,SAAS;AACpC,QAAM,UAAU,CAAC,GAAG,KAAK,SAAS,mBAAmB,CAAC;AAEtD,SAAO,QACJ,OAAO,WAAS,gBAAgB,MAAM,CAAC,CAAC,CAAC,EACzC,IAAI,YAAU;AAAA,IACb,OAAO,MAAM;AAAA,IACb,MAAM,MAAM,CAAC;AAAA,IACb;AAAA,EACD,EAAC;AACN;AAEY,MAAC,QAAQ,KAAK,OAAO;AAAA,EAC/B,aAAc;AACZ,WAAO;AAAA,MACL,gBAAgB,CAAE;AAAA,MAClB,YAAY;AAAA,QACV,MAAM;AAAA,QACN,WAAW;AAAA,MACZ;AAAA,IACP;AAAA,EACG;AAAA,EACD,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,YAAY;AAAA,EAEZ,cAAe;AACb,WAAO,oBAAoB,cAAc;AAAA,EAC1C;AAAA,EAED,gBAAiB;AACf,WAAO;AAAA,MACL,MAAM;AAAA,QACJ,SAAS;AAAA,MACV;AAAA,IACP;AAAA,EACG;AAAA,EAED,YAAa;AACX,WAAO;AAAA,MACL;AAAA,QACE,KAAK;AAAA,MACN;AAAA,IACP;AAAA,EACG;AAAA,EAED,WAAY,EAAE,QAAQ;AAGpB,UAAM,eAAe,gBAAgB,gBAAgB,KAAK,MAAM,IAAI,EAAE,cAAc;AACpF,WAAO;AAAA,EACR;AAAA,EAED,WAAY,EAAE,kBAAkB;AAC9B,WAAO,CAAC,mBAAmB,gBAAgB,KAAK,QAAQ,gBAAgB,cAAc,CAAC;AAAA,EACxF;AAAA,EAED,gBAAiB;AACf,WAAO;AAAA;AAAA,MAEL,cAAc;AAAA,QACZ,MAAM,CAAC,SAAS;AACd,gBAAM,QAAQ,KAAK,MAAM,mBAAmB;AAC5C,cAAI,CAAC,MAAO;AACZ,iBAAO,eAAe,KAAK;AAAA,QAC5B;AAAA,QACD,MAAM,KAAK;AAAA,QACX,cAAe,OAAO;AACpB,iBAAO;AAAA,YACL,MAAM,MAAM,CAAC;AAAA,UACzB;AAAA,QACS;AAAA,MACT,CAAO;AAAA,MAED,cAAc;AAAA,QACZ,MAAM,CAAC,SAAS;AACd,gBAAM,QAAQ,KAAK,MAAM,iBAAiB;AAC1C,cAAI,CAAC,MAAO;AACZ,iBAAO,eAAe,KAAK;AAAA,QAC5B;AAAA,QACD,MAAM,KAAK;AAAA,QACX,cAAe,OAAO;AACpB,gBAAM,QAAQ,gBAAgB,MAAM,CAAC,CAAC,EAAE;AACxC,iBAAO;AAAA,YACL,MAAM;AAAA,UAClB;AAAA,QACS;AAAA,MACT,CAAO;AAAA,IACP;AAAA,EACG;AAAA,EAED,gBAAiB;AACf,WAAO;AAAA,MACL,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,MAAM,KAAK;AAAA,QACX,cAAe,OAAO;AACpB,iBAAO;AAAA,YACL,MAAM,MAAM,CAAC;AAAA,UACzB;AAAA,QACS;AAAA,MACT,CAAO;AAAA,MACD,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,MAAM,KAAK;AAAA,QACX,cAAe,OAAO;AACpB,iBAAO;AAAA,YACL,MAAM,MAAM,CAAC;AAAA,UACzB;AAAA,QACS;AAAA,MACT,CAAO;AAAA,IACP;AAAA,EACG;AAAA,EAED,wBAAyB;AACvB,WAAO;AAAA,MACL,WAAW;AAAA,QACT,QAAQ,KAAK;AAAA,QACb,GAAG,KAAK,QAAQ;AAAA,QAChB,GAAG;AAAA,MACX,CAAO;AAAA,IACP;AAAA,EACG;AACH,CAAC;"}
1
+ {"version":3,"file":"emoji.js","sources":["../../../../../components/rich_text_editor/extensions/emoji/emoji.js"],"sourcesContent":["import { InputRule, mergeAttributes, Node, nodePasteRule } from '@tiptap/core';\nimport { PluginKey } from '@tiptap/pm/state';\nimport { VueNodeViewRenderer } from '@tiptap/vue-2';\nimport Suggestion from '@tiptap/suggestion';\nimport { emojiPattern } from 'regex-combined-emojis';\n\nimport EmojiComponent from './EmojiComponent.vue';\nimport { codeToEmojiData, emojiShortCodeRegex, emojiRegex, stringToUnicode } from '@/common/emoji';\nimport suggestionOptions from './suggestion';\n\nconst inputShortCodeRegex = /(:\\w+:)$/;\nconst inputUnicodeRegex = new RegExp(emojiPattern + '$');\n\nconst inputRuleMatch = (match) => {\n if (match && codeToEmojiData(match[0])) {\n const text = match[2] || match[0];\n // needs to be a dict returned\n // ref type InputRuleMatch:\n // https://github.com/ueberdosis/tiptap/blob/main/packages/core/src/InputRule.ts#L16\n return { text };\n }\n};\n\nconst shortCodePasteMatch = (text) => {\n const matches = [...text.matchAll(emojiShortCodeRegex)];\n\n return matches\n .filter(match => codeToEmojiData(match[0]))\n .map(match => ({\n index: match.index,\n text: match[0],\n match,\n }));\n};\n\nexport const Emoji = Node.create({\n name: 'emoji',\n addOptions () {\n return {\n HTMLAttributes: {},\n };\n },\n group: 'inline',\n inline: true,\n selectable: false,\n atom: true,\n\n addNodeView () {\n return VueNodeViewRenderer(EmojiComponent);\n },\n\n addAttributes () {\n return {\n code: {\n default: null,\n },\n };\n },\n\n parseHTML () {\n return [\n {\n tag: 'emoji-component',\n },\n ];\n },\n\n renderText ({ node }) {\n // output emoji in text as unicode character rather than shortname for backwards compatibility with\n // our backend.\n const unicodeEmoji = stringToUnicode(codeToEmojiData(node.attrs.code).unicode_output);\n return unicodeEmoji;\n },\n\n renderHTML ({ HTMLAttributes }) {\n return ['emoji-component', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];\n },\n\n addInputRules () {\n return [\n new InputRule({\n find: (text) => {\n const match = text.match(inputShortCodeRegex) || text.match(inputUnicodeRegex);\n if (!match) return;\n\n return inputRuleMatch(match);\n },\n handler: ({ state, range, match, commands, chain, can }) => {\n const { tr } = state;\n const start = range.from;\n const end = range.to;\n tr.replaceWith(start, end, this.type.create({ code: match[0] }));\n },\n }),\n ];\n },\n\n addPasteRules () {\n return [\n nodePasteRule({\n find: shortCodePasteMatch,\n type: this.type,\n getAttributes (attrs) {\n return {\n code: attrs[0],\n };\n },\n }),\n nodePasteRule({\n find: emojiRegex,\n type: this.type,\n getAttributes (attrs) {\n return {\n code: attrs[0],\n };\n },\n }),\n ];\n },\n\n addProseMirrorPlugins () {\n return [\n Suggestion({\n char: ':',\n pluginKey: new PluginKey('emoji'),\n editor: this.editor,\n ...this.options.suggestion,\n ...suggestionOptions,\n }),\n ];\n },\n\n addKeyboardShortcuts () {\n return {\n Backspace: () => this.editor.commands.command(({ tr, state }) => {\n let isEmoji = false;\n const { selection } = state;\n const { empty, anchor } = selection;\n if (!empty) { return false; }\n state.doc.nodesBetween(anchor - 1, anchor, (node, pos) => {\n if (node.type.name === this.name) {\n isEmoji = true;\n tr.insertText('', pos, pos + node.nodeSize);\n return false;\n }\n });\n return isEmoji;\n }),\n };\n },\n});\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
2
3
  const emoji = require("./emoji.cjs");
3
- module.exports = emoji.Emoji;
4
+ exports.Emoji = emoji.Emoji;
5
+ exports.default = emoji.Emoji;
4
6
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { Emoji } from "./emoji.js";
2
2
  export {
3
+ Emoji,
3
4
  Emoji as default
4
5
  };
5
6
  //# sourceMappingURL=index.js.map
@@ -32,10 +32,6 @@ const suggestionOptions = {
32
32
  {
33
33
  type: "emoji",
34
34
  attrs: props
35
- },
36
- {
37
- type: "text",
38
- text: " "
39
35
  }
40
36
  ]).run();
41
37
  (_b = window.getSelection()) == null ? void 0 : _b.collapseToEnd();
@@ -1 +1 @@
1
- {"version":3,"file":"suggestion.cjs","sources":["../../../../../components/rich_text_editor/extensions/emoji/suggestion.js"],"sourcesContent":["import { VueRenderer } from '@tiptap/vue-2';\nimport { emojisIndexed } from '@dialpad/dialtone-emojis';\n\nimport SuggestionList from '../suggestion/SuggestionList.vue';\nimport EmojiSuggestion from './EmojiSuggestion.vue';\n\nimport tippy from 'tippy.js';\nimport hideOnEsc from '../tippy_plugins/hide_on_esc';\n\nexport default {\n items: ({ query }) => {\n if (query.length < 2) {\n return [];\n }\n const emojiList = Object.values(emojisIndexed);\n const filteredEmoji = emojiList.filter(function (item) {\n if (item.shortname.substring(1, item.shortname.length - 1).startsWith(query.toLowerCase())) {\n return true;\n }\n return false;\n });\n return filteredEmoji.map(item => { return { code: item.shortname }; });\n },\n\n command: ({ editor, range, props }) => {\n // increase range.to by one when the next node is of type \"text\"\n // and starts with a space character\n const nodeAfter = editor.view.state.selection.$to.nodeAfter;\n const overrideSpace = nodeAfter?.text?.startsWith(' ');\n\n if (overrideSpace) {\n range.to += 1;\n }\n\n editor\n .chain()\n .focus()\n .insertContentAt(range, [\n {\n type: 'emoji',\n attrs: props,\n },\n {\n type: 'text',\n text: ' ',\n },\n ])\n .run();\n\n window.getSelection()?.collapseToEnd();\n },\n\n render: () => {\n let component;\n let popup;\n let popupIsOpen = false;\n\n return {\n onStart: props => {\n component = new VueRenderer(SuggestionList, {\n parent: this,\n propsData: {\n itemComponent: EmojiSuggestion,\n itemType: 'emoji',\n ...props,\n },\n editor: props.editor,\n });\n\n if (!props.clientRect) {\n return;\n }\n\n popup = tippy('body', {\n getReferenceClientRect: props.clientRect,\n appendTo: () => document.body,\n content: component.element,\n showOnCreate: false,\n onShow: () => { popupIsOpen = true; },\n onHidden: () => { popupIsOpen = false; },\n interactive: true,\n trigger: 'manual',\n placement: 'top-start',\n zIndex: 650,\n plugins: [hideOnEsc],\n });\n\n if (props.items.length > 0) {\n popup?.[0].show();\n }\n },\n\n onUpdate (props) {\n component?.updateProps(props);\n\n if (props.items.length > 0) {\n popup?.[0].show();\n } else {\n popup?.[0].hide();\n }\n popup?.[0].setProps({\n getReferenceClientRect: props.clientRect,\n });\n },\n\n onKeyDown (props) {\n if (popupIsOpen) {\n return component?.ref?.onKeyDown(props);\n }\n },\n\n onExit () {\n popup?.[0].destroy();\n popup = null;\n component?.destroy();\n component = null;\n },\n };\n },\n};\n"],"names":["emojisIndexed","VueRenderer","this","hideOnEsc"],"mappings":";;;;;;;AASA,MAAe,oBAAA;AAAA,EACb,OAAO,CAAC,EAAE,YAAY;AACpB,QAAI,MAAM,SAAS,GAAG;AACpB,aAAO;IACR;AACD,UAAM,YAAY,OAAO,OAAOA,eAAa,aAAA;AAC7C,UAAM,gBAAgB,UAAU,OAAO,SAAU,MAAM;AACrD,UAAI,KAAK,UAAU,UAAU,GAAG,KAAK,UAAU,SAAS,CAAC,EAAE,WAAW,MAAM,YAAa,CAAA,GAAG;AAC1F,eAAO;AAAA,MACR;AACD,aAAO;AAAA,IACb,CAAK;AACD,WAAO,cAAc,IAAI,UAAQ;AAAE,aAAO,EAAE,MAAM,KAAK;IAAY,CAAE;AAAA,EACtE;AAAA,EAED,SAAS,CAAC,EAAE,QAAQ,OAAO,MAAK,MAAO;;AAGrC,UAAM,YAAY,OAAO,KAAK,MAAM,UAAU,IAAI;AAClD,UAAM,iBAAgB,4CAAW,SAAX,mBAAiB,WAAW;AAElD,QAAI,eAAe;AACjB,YAAM,MAAM;AAAA,IACb;AAED,WACG,MAAO,EACP,MAAO,EACP,gBAAgB,OAAO;AAAA,MACtB;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACR;AAAA,MACD;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,MACP;AAAA,IACT,CAAO,EACA;AAEH,iBAAO,mBAAP,mBAAuB;AAAA,EACxB;AAAA,EAED,QAAQ,MAAM;AACZ,QAAI;AACJ,QAAI;AACJ,QAAI,cAAc;AAElB,WAAO;AAAA,MACL,SAAS,WAAS;AAChB,oBAAY,IAAIC,KAAW,YAAC,gBAAgB;AAAA,UAC1C,QAAQC;AAAAA,UACR,WAAW;AAAA,YACT,eAAe;AAAA,YACf,UAAU;AAAA,YACV,GAAG;AAAA,UACJ;AAAA,UACD,QAAQ,MAAM;AAAA,QACxB,CAAS;AAED,YAAI,CAAC,MAAM,YAAY;AACrB;AAAA,QACD;AAED,gBAAQ,MAAM,QAAQ;AAAA,UACpB,wBAAwB,MAAM;AAAA,UAC9B,UAAU,MAAM,SAAS;AAAA,UACzB,SAAS,UAAU;AAAA,UACnB,cAAc;AAAA,UACd,QAAQ,MAAM;AAAE,0BAAc;AAAA,UAAO;AAAA,UACrC,UAAU,MAAM;AAAE,0BAAc;AAAA,UAAQ;AAAA,UACxC,aAAa;AAAA,UACb,SAAS;AAAA,UACT,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,SAAS,CAACC,WAAS;AAAA,QAC7B,CAAS;AAED,YAAI,MAAM,MAAM,SAAS,GAAG;AAC1B,yCAAQ,GAAG;AAAA,QACZ;AAAA,MACF;AAAA,MAED,SAAU,OAAO;AACf,+CAAW,YAAY;AAEvB,YAAI,MAAM,MAAM,SAAS,GAAG;AAC1B,yCAAQ,GAAG;AAAA,QACrB,OAAe;AACL,yCAAQ,GAAG;AAAA,QACZ;AACD,uCAAQ,GAAG,SAAS;AAAA,UAClB,wBAAwB,MAAM;AAAA,QACxC;AAAA,MACO;AAAA,MAED,UAAW,OAAO;;AAChB,YAAI,aAAa;AACf,kBAAO,4CAAW,QAAX,mBAAgB,UAAU;AAAA,QAClC;AAAA,MACF;AAAA,MAED,SAAU;AACR,uCAAQ,GAAG;AACX,gBAAQ;AACR,+CAAW;AACX,oBAAY;AAAA,MACb;AAAA,IACP;AAAA,EACG;AACH;;"}
1
+ {"version":3,"file":"suggestion.cjs","sources":["../../../../../components/rich_text_editor/extensions/emoji/suggestion.js"],"sourcesContent":["import { VueRenderer } from '@tiptap/vue-2';\nimport { emojisIndexed } from '@dialpad/dialtone-emojis';\n\nimport SuggestionList from '../suggestion/SuggestionList.vue';\nimport EmojiSuggestion from './EmojiSuggestion.vue';\n\nimport tippy from 'tippy.js';\nimport hideOnEsc from '../tippy_plugins/hide_on_esc';\n\nexport default {\n items: ({ query }) => {\n if (query.length < 2) {\n return [];\n }\n const emojiList = Object.values(emojisIndexed);\n const filteredEmoji = emojiList.filter(function (item) {\n if (item.shortname.substring(1, item.shortname.length - 1).startsWith(query.toLowerCase())) {\n return true;\n }\n return false;\n });\n return filteredEmoji.map(item => { return { code: item.shortname }; });\n },\n\n command: ({ editor, range, props }) => {\n // increase range.to by one when the next node is of type \"text\"\n // and starts with a space character\n const nodeAfter = editor.view.state.selection.$to.nodeAfter;\n const overrideSpace = nodeAfter?.text?.startsWith(' ');\n\n if (overrideSpace) {\n range.to += 1;\n }\n\n editor\n .chain()\n .focus()\n .insertContentAt(range, [\n {\n type: 'emoji',\n attrs: props,\n },\n ])\n .run();\n\n window.getSelection()?.collapseToEnd();\n },\n\n render: () => {\n let component;\n let popup;\n let popupIsOpen = false;\n\n return {\n onStart: props => {\n component = new VueRenderer(SuggestionList, {\n parent: this,\n propsData: {\n itemComponent: EmojiSuggestion,\n itemType: 'emoji',\n ...props,\n },\n editor: props.editor,\n });\n\n if (!props.clientRect) {\n return;\n }\n\n popup = tippy('body', {\n getReferenceClientRect: props.clientRect,\n appendTo: () => document.body,\n content: component.element,\n showOnCreate: false,\n onShow: () => { popupIsOpen = true; },\n onHidden: () => { popupIsOpen = false; },\n interactive: true,\n trigger: 'manual',\n placement: 'top-start',\n zIndex: 650,\n plugins: [hideOnEsc],\n });\n\n if (props.items.length > 0) {\n popup?.[0].show();\n }\n },\n\n onUpdate (props) {\n component?.updateProps(props);\n\n if (props.items.length > 0) {\n popup?.[0].show();\n } else {\n popup?.[0].hide();\n }\n popup?.[0].setProps({\n getReferenceClientRect: props.clientRect,\n });\n },\n\n onKeyDown (props) {\n if (popupIsOpen) {\n return component?.ref?.onKeyDown(props);\n }\n },\n\n onExit () {\n popup?.[0].destroy();\n popup = null;\n component?.destroy();\n component = null;\n },\n };\n },\n};\n"],"names":["emojisIndexed","VueRenderer","this","hideOnEsc"],"mappings":";;;;;;;AASA,MAAe,oBAAA;AAAA,EACb,OAAO,CAAC,EAAE,YAAY;AACpB,QAAI,MAAM,SAAS,GAAG;AACpB,aAAO;IACR;AACD,UAAM,YAAY,OAAO,OAAOA,eAAa,aAAA;AAC7C,UAAM,gBAAgB,UAAU,OAAO,SAAU,MAAM;AACrD,UAAI,KAAK,UAAU,UAAU,GAAG,KAAK,UAAU,SAAS,CAAC,EAAE,WAAW,MAAM,YAAa,CAAA,GAAG;AAC1F,eAAO;AAAA,MACR;AACD,aAAO;AAAA,IACb,CAAK;AACD,WAAO,cAAc,IAAI,UAAQ;AAAE,aAAO,EAAE,MAAM,KAAK;IAAY,CAAE;AAAA,EACtE;AAAA,EAED,SAAS,CAAC,EAAE,QAAQ,OAAO,MAAK,MAAO;;AAGrC,UAAM,YAAY,OAAO,KAAK,MAAM,UAAU,IAAI;AAClD,UAAM,iBAAgB,4CAAW,SAAX,mBAAiB,WAAW;AAElD,QAAI,eAAe;AACjB,YAAM,MAAM;AAAA,IACb;AAED,WACG,MAAO,EACP,MAAO,EACP,gBAAgB,OAAO;AAAA,MACtB;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACR;AAAA,IACT,CAAO,EACA;AAEH,iBAAO,mBAAP,mBAAuB;AAAA,EACxB;AAAA,EAED,QAAQ,MAAM;AACZ,QAAI;AACJ,QAAI;AACJ,QAAI,cAAc;AAElB,WAAO;AAAA,MACL,SAAS,WAAS;AAChB,oBAAY,IAAIC,KAAW,YAAC,gBAAgB;AAAA,UAC1C,QAAQC;AAAAA,UACR,WAAW;AAAA,YACT,eAAe;AAAA,YACf,UAAU;AAAA,YACV,GAAG;AAAA,UACJ;AAAA,UACD,QAAQ,MAAM;AAAA,QACxB,CAAS;AAED,YAAI,CAAC,MAAM,YAAY;AACrB;AAAA,QACD;AAED,gBAAQ,MAAM,QAAQ;AAAA,UACpB,wBAAwB,MAAM;AAAA,UAC9B,UAAU,MAAM,SAAS;AAAA,UACzB,SAAS,UAAU;AAAA,UACnB,cAAc;AAAA,UACd,QAAQ,MAAM;AAAE,0BAAc;AAAA,UAAO;AAAA,UACrC,UAAU,MAAM;AAAE,0BAAc;AAAA,UAAQ;AAAA,UACxC,aAAa;AAAA,UACb,SAAS;AAAA,UACT,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,SAAS,CAACC,WAAS;AAAA,QAC7B,CAAS;AAED,YAAI,MAAM,MAAM,SAAS,GAAG;AAC1B,yCAAQ,GAAG;AAAA,QACZ;AAAA,MACF;AAAA,MAED,SAAU,OAAO;AACf,+CAAW,YAAY;AAEvB,YAAI,MAAM,MAAM,SAAS,GAAG;AAC1B,yCAAQ,GAAG;AAAA,QACrB,OAAe;AACL,yCAAQ,GAAG;AAAA,QACZ;AACD,uCAAQ,GAAG,SAAS;AAAA,UAClB,wBAAwB,MAAM;AAAA,QACxC;AAAA,MACO;AAAA,MAED,UAAW,OAAO;;AAChB,YAAI,aAAa;AACf,kBAAO,4CAAW,QAAX,mBAAgB,UAAU;AAAA,QAClC;AAAA,MACF;AAAA,MAED,SAAU;AACR,uCAAQ,GAAG;AACX,gBAAQ;AACR,+CAAW;AACX,oBAAY;AAAA,MACb;AAAA,IACP;AAAA,EACG;AACH;;"}
@@ -31,10 +31,6 @@ const suggestionOptions = {
31
31
  {
32
32
  type: "emoji",
33
33
  attrs: props
34
- },
35
- {
36
- type: "text",
37
- text: " "
38
34
  }
39
35
  ]).run();
40
36
  (_b = window.getSelection()) == null ? void 0 : _b.collapseToEnd();
@@ -1 +1 @@
1
- {"version":3,"file":"suggestion.js","sources":["../../../../../components/rich_text_editor/extensions/emoji/suggestion.js"],"sourcesContent":["import { VueRenderer } from '@tiptap/vue-2';\nimport { emojisIndexed } from '@dialpad/dialtone-emojis';\n\nimport SuggestionList from '../suggestion/SuggestionList.vue';\nimport EmojiSuggestion from './EmojiSuggestion.vue';\n\nimport tippy from 'tippy.js';\nimport hideOnEsc from '../tippy_plugins/hide_on_esc';\n\nexport default {\n items: ({ query }) => {\n if (query.length < 2) {\n return [];\n }\n const emojiList = Object.values(emojisIndexed);\n const filteredEmoji = emojiList.filter(function (item) {\n if (item.shortname.substring(1, item.shortname.length - 1).startsWith(query.toLowerCase())) {\n return true;\n }\n return false;\n });\n return filteredEmoji.map(item => { return { code: item.shortname }; });\n },\n\n command: ({ editor, range, props }) => {\n // increase range.to by one when the next node is of type \"text\"\n // and starts with a space character\n const nodeAfter = editor.view.state.selection.$to.nodeAfter;\n const overrideSpace = nodeAfter?.text?.startsWith(' ');\n\n if (overrideSpace) {\n range.to += 1;\n }\n\n editor\n .chain()\n .focus()\n .insertContentAt(range, [\n {\n type: 'emoji',\n attrs: props,\n },\n {\n type: 'text',\n text: ' ',\n },\n ])\n .run();\n\n window.getSelection()?.collapseToEnd();\n },\n\n render: () => {\n let component;\n let popup;\n let popupIsOpen = false;\n\n return {\n onStart: props => {\n component = new VueRenderer(SuggestionList, {\n parent: this,\n propsData: {\n itemComponent: EmojiSuggestion,\n itemType: 'emoji',\n ...props,\n },\n editor: props.editor,\n });\n\n if (!props.clientRect) {\n return;\n }\n\n popup = tippy('body', {\n getReferenceClientRect: props.clientRect,\n appendTo: () => document.body,\n content: component.element,\n showOnCreate: false,\n onShow: () => { popupIsOpen = true; },\n onHidden: () => { popupIsOpen = false; },\n interactive: true,\n trigger: 'manual',\n placement: 'top-start',\n zIndex: 650,\n plugins: [hideOnEsc],\n });\n\n if (props.items.length > 0) {\n popup?.[0].show();\n }\n },\n\n onUpdate (props) {\n component?.updateProps(props);\n\n if (props.items.length > 0) {\n popup?.[0].show();\n } else {\n popup?.[0].hide();\n }\n popup?.[0].setProps({\n getReferenceClientRect: props.clientRect,\n });\n },\n\n onKeyDown (props) {\n if (popupIsOpen) {\n return component?.ref?.onKeyDown(props);\n }\n },\n\n onExit () {\n popup?.[0].destroy();\n popup = null;\n component?.destroy();\n component = null;\n },\n };\n },\n};\n"],"names":["this"],"mappings":";;;;;;AASA,MAAe,oBAAA;AAAA,EACb,OAAO,CAAC,EAAE,YAAY;AACpB,QAAI,MAAM,SAAS,GAAG;AACpB,aAAO;IACR;AACD,UAAM,YAAY,OAAO,OAAO,aAAa;AAC7C,UAAM,gBAAgB,UAAU,OAAO,SAAU,MAAM;AACrD,UAAI,KAAK,UAAU,UAAU,GAAG,KAAK,UAAU,SAAS,CAAC,EAAE,WAAW,MAAM,YAAa,CAAA,GAAG;AAC1F,eAAO;AAAA,MACR;AACD,aAAO;AAAA,IACb,CAAK;AACD,WAAO,cAAc,IAAI,UAAQ;AAAE,aAAO,EAAE,MAAM,KAAK;IAAY,CAAE;AAAA,EACtE;AAAA,EAED,SAAS,CAAC,EAAE,QAAQ,OAAO,MAAK,MAAO;;AAGrC,UAAM,YAAY,OAAO,KAAK,MAAM,UAAU,IAAI;AAClD,UAAM,iBAAgB,4CAAW,SAAX,mBAAiB,WAAW;AAElD,QAAI,eAAe;AACjB,YAAM,MAAM;AAAA,IACb;AAED,WACG,MAAO,EACP,MAAO,EACP,gBAAgB,OAAO;AAAA,MACtB;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACR;AAAA,MACD;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,MACP;AAAA,IACT,CAAO,EACA;AAEH,iBAAO,mBAAP,mBAAuB;AAAA,EACxB;AAAA,EAED,QAAQ,MAAM;AACZ,QAAI;AACJ,QAAI;AACJ,QAAI,cAAc;AAElB,WAAO;AAAA,MACL,SAAS,WAAS;AAChB,oBAAY,IAAI,YAAY,gBAAgB;AAAA,UAC1C,QAAQA;AAAAA,UACR,WAAW;AAAA,YACT,eAAe;AAAA,YACf,UAAU;AAAA,YACV,GAAG;AAAA,UACJ;AAAA,UACD,QAAQ,MAAM;AAAA,QACxB,CAAS;AAED,YAAI,CAAC,MAAM,YAAY;AACrB;AAAA,QACD;AAED,gBAAQ,MAAM,QAAQ;AAAA,UACpB,wBAAwB,MAAM;AAAA,UAC9B,UAAU,MAAM,SAAS;AAAA,UACzB,SAAS,UAAU;AAAA,UACnB,cAAc;AAAA,UACd,QAAQ,MAAM;AAAE,0BAAc;AAAA,UAAO;AAAA,UACrC,UAAU,MAAM;AAAE,0BAAc;AAAA,UAAQ;AAAA,UACxC,aAAa;AAAA,UACb,SAAS;AAAA,UACT,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,SAAS,CAAC,SAAS;AAAA,QAC7B,CAAS;AAED,YAAI,MAAM,MAAM,SAAS,GAAG;AAC1B,yCAAQ,GAAG;AAAA,QACZ;AAAA,MACF;AAAA,MAED,SAAU,OAAO;AACf,+CAAW,YAAY;AAEvB,YAAI,MAAM,MAAM,SAAS,GAAG;AAC1B,yCAAQ,GAAG;AAAA,QACrB,OAAe;AACL,yCAAQ,GAAG;AAAA,QACZ;AACD,uCAAQ,GAAG,SAAS;AAAA,UAClB,wBAAwB,MAAM;AAAA,QACxC;AAAA,MACO;AAAA,MAED,UAAW,OAAO;;AAChB,YAAI,aAAa;AACf,kBAAO,4CAAW,QAAX,mBAAgB,UAAU;AAAA,QAClC;AAAA,MACF;AAAA,MAED,SAAU;AACR,uCAAQ,GAAG;AACX,gBAAQ;AACR,+CAAW;AACX,oBAAY;AAAA,MACb;AAAA,IACP;AAAA,EACG;AACH;"}
1
+ {"version":3,"file":"suggestion.js","sources":["../../../../../components/rich_text_editor/extensions/emoji/suggestion.js"],"sourcesContent":["import { VueRenderer } from '@tiptap/vue-2';\nimport { emojisIndexed } from '@dialpad/dialtone-emojis';\n\nimport SuggestionList from '../suggestion/SuggestionList.vue';\nimport EmojiSuggestion from './EmojiSuggestion.vue';\n\nimport tippy from 'tippy.js';\nimport hideOnEsc from '../tippy_plugins/hide_on_esc';\n\nexport default {\n items: ({ query }) => {\n if (query.length < 2) {\n return [];\n }\n const emojiList = Object.values(emojisIndexed);\n const filteredEmoji = emojiList.filter(function (item) {\n if (item.shortname.substring(1, item.shortname.length - 1).startsWith(query.toLowerCase())) {\n return true;\n }\n return false;\n });\n return filteredEmoji.map(item => { return { code: item.shortname }; });\n },\n\n command: ({ editor, range, props }) => {\n // increase range.to by one when the next node is of type \"text\"\n // and starts with a space character\n const nodeAfter = editor.view.state.selection.$to.nodeAfter;\n const overrideSpace = nodeAfter?.text?.startsWith(' ');\n\n if (overrideSpace) {\n range.to += 1;\n }\n\n editor\n .chain()\n .focus()\n .insertContentAt(range, [\n {\n type: 'emoji',\n attrs: props,\n },\n ])\n .run();\n\n window.getSelection()?.collapseToEnd();\n },\n\n render: () => {\n let component;\n let popup;\n let popupIsOpen = false;\n\n return {\n onStart: props => {\n component = new VueRenderer(SuggestionList, {\n parent: this,\n propsData: {\n itemComponent: EmojiSuggestion,\n itemType: 'emoji',\n ...props,\n },\n editor: props.editor,\n });\n\n if (!props.clientRect) {\n return;\n }\n\n popup = tippy('body', {\n getReferenceClientRect: props.clientRect,\n appendTo: () => document.body,\n content: component.element,\n showOnCreate: false,\n onShow: () => { popupIsOpen = true; },\n onHidden: () => { popupIsOpen = false; },\n interactive: true,\n trigger: 'manual',\n placement: 'top-start',\n zIndex: 650,\n plugins: [hideOnEsc],\n });\n\n if (props.items.length > 0) {\n popup?.[0].show();\n }\n },\n\n onUpdate (props) {\n component?.updateProps(props);\n\n if (props.items.length > 0) {\n popup?.[0].show();\n } else {\n popup?.[0].hide();\n }\n popup?.[0].setProps({\n getReferenceClientRect: props.clientRect,\n });\n },\n\n onKeyDown (props) {\n if (popupIsOpen) {\n return component?.ref?.onKeyDown(props);\n }\n },\n\n onExit () {\n popup?.[0].destroy();\n popup = null;\n component?.destroy();\n component = null;\n },\n };\n },\n};\n"],"names":["this"],"mappings":";;;;;;AASA,MAAe,oBAAA;AAAA,EACb,OAAO,CAAC,EAAE,YAAY;AACpB,QAAI,MAAM,SAAS,GAAG;AACpB,aAAO;IACR;AACD,UAAM,YAAY,OAAO,OAAO,aAAa;AAC7C,UAAM,gBAAgB,UAAU,OAAO,SAAU,MAAM;AACrD,UAAI,KAAK,UAAU,UAAU,GAAG,KAAK,UAAU,SAAS,CAAC,EAAE,WAAW,MAAM,YAAa,CAAA,GAAG;AAC1F,eAAO;AAAA,MACR;AACD,aAAO;AAAA,IACb,CAAK;AACD,WAAO,cAAc,IAAI,UAAQ;AAAE,aAAO,EAAE,MAAM,KAAK;IAAY,CAAE;AAAA,EACtE;AAAA,EAED,SAAS,CAAC,EAAE,QAAQ,OAAO,MAAK,MAAO;;AAGrC,UAAM,YAAY,OAAO,KAAK,MAAM,UAAU,IAAI;AAClD,UAAM,iBAAgB,4CAAW,SAAX,mBAAiB,WAAW;AAElD,QAAI,eAAe;AACjB,YAAM,MAAM;AAAA,IACb;AAED,WACG,MAAO,EACP,MAAO,EACP,gBAAgB,OAAO;AAAA,MACtB;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,MACR;AAAA,IACT,CAAO,EACA;AAEH,iBAAO,mBAAP,mBAAuB;AAAA,EACxB;AAAA,EAED,QAAQ,MAAM;AACZ,QAAI;AACJ,QAAI;AACJ,QAAI,cAAc;AAElB,WAAO;AAAA,MACL,SAAS,WAAS;AAChB,oBAAY,IAAI,YAAY,gBAAgB;AAAA,UAC1C,QAAQA;AAAAA,UACR,WAAW;AAAA,YACT,eAAe;AAAA,YACf,UAAU;AAAA,YACV,GAAG;AAAA,UACJ;AAAA,UACD,QAAQ,MAAM;AAAA,QACxB,CAAS;AAED,YAAI,CAAC,MAAM,YAAY;AACrB;AAAA,QACD;AAED,gBAAQ,MAAM,QAAQ;AAAA,UACpB,wBAAwB,MAAM;AAAA,UAC9B,UAAU,MAAM,SAAS;AAAA,UACzB,SAAS,UAAU;AAAA,UACnB,cAAc;AAAA,UACd,QAAQ,MAAM;AAAE,0BAAc;AAAA,UAAO;AAAA,UACrC,UAAU,MAAM;AAAE,0BAAc;AAAA,UAAQ;AAAA,UACxC,aAAa;AAAA,UACb,SAAS;AAAA,UACT,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,SAAS,CAAC,SAAS;AAAA,QAC7B,CAAS;AAED,YAAI,MAAM,MAAM,SAAS,GAAG;AAC1B,yCAAQ,GAAG;AAAA,QACZ;AAAA,MACF;AAAA,MAED,SAAU,OAAO;AACf,+CAAW,YAAY;AAEvB,YAAI,MAAM,MAAM,SAAS,GAAG;AAC1B,yCAAQ,GAAG;AAAA,QACrB,OAAe;AACL,yCAAQ,GAAG;AAAA,QACZ;AACD,uCAAQ,GAAG,SAAS;AAAA,UAClB,wBAAwB,MAAM;AAAA,QACxC;AAAA,MACO;AAAA,MAED,UAAW,OAAO;;AAChB,YAAI,aAAa;AACf,kBAAO,4CAAW,QAAX,mBAAgB,UAAU;AAAA,QAClC;AAAA,MACF;AAAA,MAED,SAAU;AACR,uCAAQ,GAAG;AACX,gBAAQ;AACR,+CAAW;AACX,oBAAY;AAAA,MACb;AAAA,IACP;AAAA,EACG;AACH;"}
@@ -264,8 +264,6 @@ exports.DtInputGroup = input_group$1;
264
264
  exports.DtItemLayout = item_layout;
265
265
  exports.DtKeyboardShortcut = keyboard_shortcut;
266
266
  exports.SHORTCUTS_ALIASES_LIST = keyboard_shortcut_constants.SHORTCUTS_ALIASES_LIST;
267
- exports.SHORTCUTS_ICON_ALIASES = keyboard_shortcut_constants.SHORTCUTS_ICON_ALIASES;
268
- exports.SHORTCUTS_ICON_SEPARATOR = keyboard_shortcut_constants.SHORTCUTS_ICON_SEPARATOR;
269
267
  exports.DtLazyShow = lazy_show;
270
268
  exports.DtLink = link;
271
269
  exports.LINK_KIND_MODIFIERS = link_constants.LINK_KIND_MODIFIERS;
@@ -390,7 +388,6 @@ exports.DtRecipeContactRow = contact_row;
390
388
  exports.DtRecipeGeneralRow = general_row;
391
389
  exports.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS = general_row_constants.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS;
392
390
  exports.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR = general_row_constants.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR;
393
- exports.LEFTBAR_GENERAL_ROW_ICON_MAPPING = general_row_constants.LEFTBAR_GENERAL_ROW_ICON_MAPPING;
394
391
  exports.LEFTBAR_GENERAL_ROW_ICON_SIZES = general_row_constants.LEFTBAR_GENERAL_ROW_ICON_SIZES;
395
392
  exports.LEFTBAR_GENERAL_ROW_TYPES = general_row_constants.LEFTBAR_GENERAL_ROW_TYPES;
396
393
  exports.DtRecipeGroupRow = group_row;
@@ -1 +1 @@
1
- {"version":3,"file":"dialtone-vue.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"dialtone-vue.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -51,7 +51,7 @@ import { INPUT_SIZES, INPUT_TYPES } from "./components/input/input_constants.js"
51
51
  import { default as default30 } from "./components/input_group/input_group.vue.js";
52
52
  import { default as default31 } from "./components/item_layout/item_layout.vue.js";
53
53
  import { default as default32 } from "./components/keyboard_shortcut/keyboard_shortcut.vue.js";
54
- import { SHORTCUTS_ALIASES_LIST, SHORTCUTS_ICON_ALIASES, SHORTCUTS_ICON_SEPARATOR } from "./components/keyboard_shortcut/keyboard_shortcut_constants.js";
54
+ import { SHORTCUTS_ALIASES_LIST } from "./components/keyboard_shortcut/keyboard_shortcut_constants.js";
55
55
  import { default as default33 } from "./components/lazy_show/lazy_show.vue.js";
56
56
  import { default as default34 } from "./components/link/link.vue.js";
57
57
  import { LINK_KIND_MODIFIERS, LINK_VARIANTS, getLinkKindModifier } from "./components/link/link_constants.js";
@@ -128,7 +128,7 @@ import { CALLBOX_BADGE_COLORS, CALLBOX_BORDER_COLORS } from "./recipes/leftbar/c
128
128
  import { default as default82 } from "./recipes/leftbar/contact_centers_row/contact_centers_row.vue.js";
129
129
  import { default as default83 } from "./recipes/leftbar/contact_row/contact_row.vue.js";
130
130
  import { default as default84 } from "./recipes/leftbar/general_row/general_row.vue.js";
131
- import { LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS, LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR, LEFTBAR_GENERAL_ROW_ICON_MAPPING, LEFTBAR_GENERAL_ROW_ICON_SIZES, LEFTBAR_GENERAL_ROW_TYPES } from "./recipes/leftbar/general_row/general_row_constants.js";
131
+ import { LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS, LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR, LEFTBAR_GENERAL_ROW_ICON_SIZES, LEFTBAR_GENERAL_ROW_TYPES } from "./recipes/leftbar/general_row/general_row_constants.js";
132
132
  import { default as default85 } from "./recipes/leftbar/group_row/group_row.vue.js";
133
133
  import { default as default86 } from "./recipes/leftbar/unread_pill/unread_pill.vue.js";
134
134
  import { UNREAD_PILL_DIRECTIONS, UNREAD_PILL_KINDS } from "./recipes/leftbar/unread_pill/unread_pill_constants.js";
@@ -289,7 +289,6 @@ export {
289
289
  LABEL_SIZES,
290
290
  LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS,
291
291
  LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR,
292
- LEFTBAR_GENERAL_ROW_ICON_MAPPING,
293
292
  LEFTBAR_GENERAL_ROW_ICON_SIZES,
294
293
  LEFTBAR_GENERAL_ROW_TYPES,
295
294
  LINK_KIND_MODIFIERS,
@@ -321,8 +320,6 @@ export {
321
320
  SELECT_SIZE_MODIFIERS,
322
321
  SELECT_STATE_MODIFIERS,
323
322
  SHORTCUTS_ALIASES_LIST,
324
- SHORTCUTS_ICON_ALIASES,
325
- SHORTCUTS_ICON_SEPARATOR,
326
323
  SKELETON_HEADING_HEIGHTS,
327
324
  SKELETON_RIPPLE_DURATION,
328
325
  SKELETON_SHAPES,
@@ -5,7 +5,6 @@ const general_row_constants = require("../recipes/leftbar/general_row/general_ro
5
5
  exports.DtRecipeGeneralRow = general_row;
6
6
  exports.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS = general_row_constants.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS;
7
7
  exports.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR = general_row_constants.LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR;
8
- exports.LEFTBAR_GENERAL_ROW_ICON_MAPPING = general_row_constants.LEFTBAR_GENERAL_ROW_ICON_MAPPING;
9
8
  exports.LEFTBAR_GENERAL_ROW_ICON_SIZES = general_row_constants.LEFTBAR_GENERAL_ROW_ICON_SIZES;
10
9
  exports.LEFTBAR_GENERAL_ROW_TYPES = general_row_constants.LEFTBAR_GENERAL_ROW_TYPES;
11
10
  //# sourceMappingURL=general-row.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"general-row.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"general-row.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,10 +1,9 @@
1
1
  import { default as default2 } from "../recipes/leftbar/general_row/general_row.vue.js";
2
- import { LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS, LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR, LEFTBAR_GENERAL_ROW_ICON_MAPPING, LEFTBAR_GENERAL_ROW_ICON_SIZES, LEFTBAR_GENERAL_ROW_TYPES } from "../recipes/leftbar/general_row/general_row_constants.js";
2
+ import { LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS, LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR, LEFTBAR_GENERAL_ROW_ICON_SIZES, LEFTBAR_GENERAL_ROW_TYPES } from "../recipes/leftbar/general_row/general_row_constants.js";
3
3
  export {
4
4
  default2 as DtRecipeGeneralRow,
5
5
  LEFTBAR_GENERAL_ROW_CONTACT_CENTER_COLORS,
6
6
  LEFTBAR_GENERAL_ROW_CONTACT_CENTER_VALIDATION_ERROR,
7
- LEFTBAR_GENERAL_ROW_ICON_MAPPING,
8
7
  LEFTBAR_GENERAL_ROW_ICON_SIZES,
9
8
  LEFTBAR_GENERAL_ROW_TYPES
10
9
  };
@@ -4,6 +4,4 @@ const keyboard_shortcut = require("../components/keyboard_shortcut/keyboard_shor
4
4
  const keyboard_shortcut_constants = require("../components/keyboard_shortcut/keyboard_shortcut_constants.cjs");
5
5
  exports.DtKeyboardShortcut = keyboard_shortcut;
6
6
  exports.SHORTCUTS_ALIASES_LIST = keyboard_shortcut_constants.SHORTCUTS_ALIASES_LIST;
7
- exports.SHORTCUTS_ICON_ALIASES = keyboard_shortcut_constants.SHORTCUTS_ICON_ALIASES;
8
- exports.SHORTCUTS_ICON_SEPARATOR = keyboard_shortcut_constants.SHORTCUTS_ICON_SEPARATOR;
9
7
  //# sourceMappingURL=keyboard-shortcut.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard-shortcut.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"keyboard-shortcut.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,9 +1,7 @@
1
1
  import { default as default2 } from "../components/keyboard_shortcut/keyboard_shortcut.vue.js";
2
- import { SHORTCUTS_ALIASES_LIST, SHORTCUTS_ICON_ALIASES, SHORTCUTS_ICON_SEPARATOR } from "../components/keyboard_shortcut/keyboard_shortcut_constants.js";
2
+ import { SHORTCUTS_ALIASES_LIST } from "../components/keyboard_shortcut/keyboard_shortcut_constants.js";
3
3
  export {
4
4
  default2 as DtKeyboardShortcut,
5
- SHORTCUTS_ALIASES_LIST,
6
- SHORTCUTS_ICON_ALIASES,
7
- SHORTCUTS_ICON_SEPARATOR
5
+ SHORTCUTS_ALIASES_LIST
8
6
  };
9
7
  //# sourceMappingURL=keyboard-shortcut.js.map
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
+ const vue2 = require("@dialpad/dialtone-icons/vue2");
2
3
  const common_utils = require("../../../common/utils.cjs");
3
4
  ;/* empty css */
4
5
  const _pluginVue2_normalizer = require("../../../_virtual/_plugin-vue2_normalizer.cjs");
5
6
  const callbar_button = require("../callbar_button/callbar_button.vue.cjs");
6
7
  const popover = require("../../../components/popover/popover.vue.cjs");
7
8
  const button = require("../../../components/button/button.vue.cjs");
8
- const icon = require("../../../components/icon/icon.vue.cjs");
9
9
  const callbar_button_constants = require("../callbar_button/callbar_button_constants.cjs");
10
10
  const _sfc_main = {
11
11
  name: "DtRecipeCallbarButtonWithPopover",
12
- components: { DtRecipeCallbarButton: callbar_button, DtPopover: popover, DtButton: button, DtIcon: icon },
12
+ components: { DtRecipeCallbarButton: callbar_button, DtPopover: popover, DtButton: button, DtIconChevronUp: vue2.DtIconChevronUp },
13
13
  /* inheritAttrs: false is generally an option we want to set on library
14
14
  components. This allows any attributes passed in that are not recognized
15
15
  as props to be passed down to another element or component using v-bind:$attrs
@@ -233,9 +233,9 @@ var _sfc_render = function render() {
233
233
  "dt-recipe--callbar-button-with-popover--arrow",
234
234
  { "dt-recipe--callbar-button-with-popover--arrow--large": !_vm.isCompactMode }
235
235
  ], attrs: { "circle": "", "importance": "clear", "size": "lg", "width": "2rem", "aria-label": _vm.arrowButtonLabel, "active": _vm.open }, on: { "click": _vm.arrowClick }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
236
- return [_c("dt-icon", { staticClass: "dt-recipe--callbar-button-with-popover--arrow__icon", attrs: { "name": "chevron-up", "size": "200" } })];
237
- }, proxy: true }], null, false, 982444464) })];
238
- }, proxy: true }], null, false, 3818376870) }, "dt-popover", _vm.$attrs, false), [_vm._t("content", null, { "slot": "content" }), _vm._t("headerContent", null, { "slot": "headerContent" }), _vm._t("footerContent", null, { "slot": "footerContent" })], 2) : _vm._e()], 1);
236
+ return [_c("dt-icon-chevron-up", { staticClass: "dt-recipe--callbar-button-with-popover--arrow__icon", attrs: { "size": "200" } })];
237
+ }, proxy: true }], null, false, 2938859436) })];
238
+ }, proxy: true }], null, false, 3932808238) }, "dt-popover", _vm.$attrs, false), [_vm._t("content", null, { "slot": "content" }), _vm._t("headerContent", null, { "slot": "headerContent" }), _vm._t("footerContent", null, { "slot": "footerContent" })], 2) : _vm._e()], 1);
239
239
  };
240
240
  var _sfc_staticRenderFns = [];
241
241
  var __component__ = /* @__PURE__ */ _pluginVue2_normalizer(