@dialpad/dialtone 9.54.1 → 9.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/css/dialtone.css +24 -33
  2. package/dist/css/dialtone.min.css +1 -1
  3. package/dist/tokens/css/variables-dark.css +2 -1
  4. package/dist/tokens/css/variables-expressive-dark.css +30 -29
  5. package/dist/tokens/css/variables-expressive-light.css +30 -29
  6. package/dist/tokens/css/variables-expressive-sm-dark.css +30 -29
  7. package/dist/tokens/css/variables-expressive-sm-light.css +30 -29
  8. package/dist/tokens/css/variables-light.css +2 -1
  9. package/dist/tokens/css/variables-tmo-dark.css +2 -1
  10. package/dist/tokens/css/variables-tmo-light.css +2 -1
  11. package/dist/tokens/doc.json +350 -224
  12. package/dist/tokens/less/variables-dark.less +2 -1
  13. package/dist/tokens/less/variables-expressive-dark.less +30 -29
  14. package/dist/tokens/less/variables-expressive-light.less +30 -29
  15. package/dist/tokens/less/variables-expressive-sm-dark.less +30 -29
  16. package/dist/tokens/less/variables-expressive-sm-light.less +30 -29
  17. package/dist/tokens/less/variables-light.less +2 -1
  18. package/dist/tokens/less/variables-tmo-dark.less +2 -1
  19. package/dist/tokens/less/variables-tmo-light.less +2 -1
  20. package/dist/tokens/tokens-dark.json +1 -0
  21. package/dist/tokens/tokens-light.json +1 -0
  22. package/dist/vue2/dialtone-vue.cjs +2 -0
  23. package/dist/vue2/dialtone-vue.cjs.map +1 -1
  24. package/dist/vue2/dialtone-vue.js +2 -0
  25. package/dist/vue2/dialtone-vue.js.map +1 -1
  26. package/dist/vue2/lib/combobox-multi-select.cjs +12 -6
  27. package/dist/vue2/lib/combobox-multi-select.cjs.map +1 -1
  28. package/dist/vue2/lib/combobox-multi-select.js +12 -6
  29. package/dist/vue2/lib/combobox-multi-select.js.map +1 -1
  30. package/dist/vue2/lib/emoji-picker.cjs +4 -0
  31. package/dist/vue2/lib/emoji-picker.cjs.map +1 -1
  32. package/dist/vue2/lib/emoji-picker.js +4 -0
  33. package/dist/vue2/lib/emoji-picker.js.map +1 -1
  34. package/dist/vue2/lib/input.cjs +8 -12
  35. package/dist/vue2/lib/input.cjs.map +1 -1
  36. package/dist/vue2/lib/input.js +8 -12
  37. package/dist/vue2/lib/input.js.map +1 -1
  38. package/dist/vue2/lib/message-input.cjs +1 -19
  39. package/dist/vue2/lib/message-input.cjs.map +1 -1
  40. package/dist/vue2/lib/message-input.js +1 -19
  41. package/dist/vue2/lib/message-input.js.map +1 -1
  42. package/dist/vue2/lib/rich-text-editor.cjs +153 -57
  43. package/dist/vue2/lib/rich-text-editor.cjs.map +1 -1
  44. package/dist/vue2/lib/rich-text-editor.js +153 -57
  45. package/dist/vue2/lib/rich-text-editor.js.map +1 -1
  46. package/dist/vue2/lib/scrollbar-directive.cjs +2402 -0
  47. package/dist/vue2/lib/scrollbar-directive.cjs.map +1 -0
  48. package/dist/vue2/lib/scrollbar-directive.js +2402 -0
  49. package/dist/vue2/lib/scrollbar-directive.js.map +1 -0
  50. package/dist/vue2/style.css +771 -125
  51. package/dist/vue2/types/components/input/input_constants.d.ts +3 -15
  52. package/dist/vue2/types/components/rich_text_editor/extensions/channels/suggestion.d.ts.map +1 -1
  53. package/dist/vue2/types/components/rich_text_editor/extensions/emoji/suggestion.d.ts.map +1 -1
  54. package/dist/vue2/types/components/rich_text_editor/extensions/mentions/suggestion.d.ts.map +1 -1
  55. package/dist/vue2/types/components/rich_text_editor/extensions/slash_command/suggestion.d.ts.map +1 -1
  56. package/dist/vue2/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +1 -1
  57. package/dist/vue2/types/components/rich_text_editor/extensions/tippy_plugins/hide_on_esc.d.ts +12 -0
  58. package/dist/vue2/types/components/rich_text_editor/extensions/tippy_plugins/hide_on_esc.d.ts.map +1 -0
  59. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
  60. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  61. package/dist/vue2/types/directives/scrollbar/index.d.ts +2 -0
  62. package/dist/vue2/types/directives/scrollbar/index.d.ts.map +1 -0
  63. package/dist/vue2/types/directives/scrollbar/scrollbar.d.ts +6 -0
  64. package/dist/vue2/types/directives/scrollbar/scrollbar.d.ts.map +1 -0
  65. package/dist/vue2/types/index.d.ts +1 -0
  66. package/dist/vue2/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -0
  67. package/dist/vue2/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts.map +1 -1
  68. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts +0 -3
  69. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  70. package/dist/vue3/dialtone-vue.cjs +2 -0
  71. package/dist/vue3/dialtone-vue.cjs.map +1 -1
  72. package/dist/vue3/dialtone-vue.js +2 -0
  73. package/dist/vue3/dialtone-vue.js.map +1 -1
  74. package/dist/vue3/lib/emoji-picker.cjs +2 -1
  75. package/dist/vue3/lib/emoji-picker.cjs.map +1 -1
  76. package/dist/vue3/lib/emoji-picker.js +2 -1
  77. package/dist/vue3/lib/emoji-picker.js.map +1 -1
  78. package/dist/vue3/lib/input.cjs +9 -12
  79. package/dist/vue3/lib/input.cjs.map +1 -1
  80. package/dist/vue3/lib/input.js +9 -12
  81. package/dist/vue3/lib/input.js.map +1 -1
  82. package/dist/vue3/lib/message-input.cjs +14 -24
  83. package/dist/vue3/lib/message-input.cjs.map +1 -1
  84. package/dist/vue3/lib/message-input.js +15 -25
  85. package/dist/vue3/lib/message-input.js.map +1 -1
  86. package/dist/vue3/lib/rich-text-editor.cjs +154 -57
  87. package/dist/vue3/lib/rich-text-editor.cjs.map +1 -1
  88. package/dist/vue3/lib/rich-text-editor.js +154 -57
  89. package/dist/vue3/lib/rich-text-editor.js.map +1 -1
  90. package/dist/vue3/lib/scrollbar-directive.cjs +2402 -0
  91. package/dist/vue3/lib/scrollbar-directive.cjs.map +1 -0
  92. package/dist/vue3/lib/scrollbar-directive.js +2402 -0
  93. package/dist/vue3/lib/scrollbar-directive.js.map +1 -0
  94. package/dist/vue3/style.css +766 -120
  95. package/dist/vue3/types/components/emoji_picker/modules/emoji_selector.vue.d.ts.map +1 -1
  96. package/dist/vue3/types/components/input/input_constants.d.ts +3 -15
  97. package/dist/vue3/types/components/rich_text_editor/extensions/channels/suggestion.d.ts.map +1 -1
  98. package/dist/vue3/types/components/rich_text_editor/extensions/emoji/suggestion.d.ts.map +1 -1
  99. package/dist/vue3/types/components/rich_text_editor/extensions/mentions/suggestion.d.ts.map +1 -1
  100. package/dist/vue3/types/components/rich_text_editor/extensions/slash_command/suggestion.d.ts.map +1 -1
  101. package/dist/vue3/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +1 -1
  102. package/dist/vue3/types/components/rich_text_editor/extensions/tippy_plugins/hide_on_esc.d.ts +12 -0
  103. package/dist/vue3/types/components/rich_text_editor/extensions/tippy_plugins/hide_on_esc.d.ts.map +1 -0
  104. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +2 -1
  105. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  106. package/dist/vue3/types/directives/scrollbar/index.d.ts +2 -0
  107. package/dist/vue3/types/directives/scrollbar/index.d.ts.map +1 -0
  108. package/dist/vue3/types/directives/scrollbar/scrollbar.d.ts +6 -0
  109. package/dist/vue3/types/directives/scrollbar/scrollbar.d.ts.map +1 -0
  110. package/dist/vue3/types/index.d.ts +1 -0
  111. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts +0 -3
  112. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  113. package/package.json +3 -3
@@ -115,9 +115,7 @@ const _sfc_main$8 = {
115
115
  return true;
116
116
  }
117
117
  if (event.key === "Enter" || event.key === "Tab") {
118
- event.preventDefault();
119
118
  this.selectHandler();
120
- event.stopPropagation();
121
119
  return true;
122
120
  }
123
121
  return false;
@@ -130,7 +128,8 @@ const _sfc_main$8 = {
130
128
  this.selectedIndex = (this.selectedIndex + 1) % this.items.length;
131
129
  this.scrollActiveElementIntoView();
132
130
  },
133
- scrollActiveElementIntoView() {
131
+ async scrollActiveElementIntoView() {
132
+ await this.$nextTick();
134
133
  const activeElement = this.$refs.suggestionList.querySelector(".dt-list-item--highlighted");
135
134
  if (activeElement) {
136
135
  activeElement.scrollIntoView({
@@ -163,7 +162,7 @@ const _sfc_main$8 = {
163
162
  };
164
163
  var _sfc_render$8 = function render2() {
165
164
  var _vm = this, _c = _vm._self._c;
166
- return _c("div", { staticClass: "d-popover__dialog" }, [_c("ul", { directives: [{ name: "show", rawName: "v-show", value: _vm.items.length, expression: "items.length" }], ref: "suggestionList", staticClass: "dt-suggestion-list" }, _vm._l(_vm.items, function(item, index) {
165
+ return _c("div", { staticClass: "d-popover__dialog dt-suggestion-list__container" }, [_c("ul", { directives: [{ name: "show", rawName: "v-show", value: _vm.items.length, expression: "items.length" }], ref: "suggestionList", staticClass: "dt-suggestion-list" }, _vm._l(_vm.items, function(item, index) {
167
166
  return _c("dt-list-item", { key: item.id, class: [
168
167
  "dt-suggestion-list--item",
169
168
  { "dt-list-item--highlighted": index === _vm.selectedIndex }
@@ -171,7 +170,6 @@ var _sfc_render$8 = function render2() {
171
170
  return _vm.selectItem(index);
172
171
  }, "keydown": function($event) {
173
172
  $event.preventDefault();
174
- $event.stopPropagation();
175
173
  return _vm.onKeyDown.apply(null, arguments);
176
174
  } } }, [_c(_vm.itemComponent, { tag: "component", attrs: { "item": item } })], 1);
177
175
  }), 1)]);
@@ -217,6 +215,25 @@ var __component__$7 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
217
215
  null
218
216
  );
219
217
  const EmojiSuggestion = __component__$7.exports;
218
+ const hideOnEsc = {
219
+ name: "hideOnEsc",
220
+ defaultValue: true,
221
+ fn({ hide }) {
222
+ function onKeyDown(event) {
223
+ if (event.keyCode === 27) {
224
+ hide();
225
+ }
226
+ }
227
+ return {
228
+ onShow() {
229
+ document.addEventListener("keydown", onKeyDown);
230
+ },
231
+ onHide() {
232
+ document.removeEventListener("keydown", onKeyDown);
233
+ }
234
+ };
235
+ }
236
+ };
220
237
  const suggestionOptions = {
221
238
  items: ({ query }) => {
222
239
  if (query.length < 2) {
@@ -255,6 +272,7 @@ const suggestionOptions = {
255
272
  render: () => {
256
273
  let component;
257
274
  let popup;
275
+ let popupIsOpen = false;
258
276
  return {
259
277
  onStart: (props) => {
260
278
  component = new vue2.VueRenderer(SuggestionList, {
@@ -273,33 +291,45 @@ const suggestionOptions = {
273
291
  getReferenceClientRect: props.clientRect,
274
292
  appendTo: () => document.body,
275
293
  content: component.element,
276
- showOnCreate: true,
294
+ showOnCreate: false,
295
+ onShow: () => {
296
+ popupIsOpen = true;
297
+ },
298
+ onHidden: () => {
299
+ popupIsOpen = false;
300
+ },
277
301
  interactive: true,
278
302
  trigger: "manual",
279
303
  placement: "top-start",
280
- zIndex: 650
304
+ zIndex: 650,
305
+ plugins: [hideOnEsc]
281
306
  });
307
+ if (props.items.length > 0) {
308
+ popup == null ? void 0 : popup[0].show();
309
+ }
282
310
  },
283
311
  onUpdate(props) {
284
- component.updateProps(props);
285
- if (!props.clientRect) {
286
- return;
312
+ component == null ? void 0 : component.updateProps(props);
313
+ if (props.items.length > 0) {
314
+ popup == null ? void 0 : popup[0].show();
315
+ } else {
316
+ popup == null ? void 0 : popup[0].hide();
287
317
  }
288
- popup[0].setProps({
318
+ popup == null ? void 0 : popup[0].setProps({
289
319
  getReferenceClientRect: props.clientRect
290
320
  });
291
321
  },
292
322
  onKeyDown(props) {
293
323
  var _a;
294
- if (props.event.key === "Escape") {
295
- popup[0].hide();
296
- return true;
324
+ if (popupIsOpen) {
325
+ return (_a = component == null ? void 0 : component.ref) == null ? void 0 : _a.onKeyDown(props);
297
326
  }
298
- return (_a = component.ref) == null ? void 0 : _a.onKeyDown(props);
299
327
  },
300
328
  onExit() {
301
- popup[0].destroy();
302
- component.destroy();
329
+ popup == null ? void 0 : popup[0].destroy();
330
+ popup = null;
331
+ component == null ? void 0 : component.destroy();
332
+ component = null;
303
333
  }
304
334
  };
305
335
  }
@@ -896,6 +926,7 @@ const mentionSuggestion = {
896
926
  render: () => {
897
927
  let component;
898
928
  let popup;
929
+ let popupIsOpen = false;
899
930
  return {
900
931
  onStart: (props) => {
901
932
  component = new vue2.VueRenderer(SuggestionList, {
@@ -914,31 +945,48 @@ const mentionSuggestion = {
914
945
  getReferenceClientRect: props.clientRect,
915
946
  appendTo: () => document.body,
916
947
  content: component.element,
917
- showOnCreate: true,
948
+ showOnCreate: false,
949
+ onShow: () => {
950
+ popupIsOpen = true;
951
+ },
952
+ onHidden: () => {
953
+ popupIsOpen = false;
954
+ },
918
955
  interactive: true,
919
956
  trigger: "manual",
920
- placement: "top-start"
957
+ placement: "top-start",
958
+ zIndex: 650,
959
+ plugins: [hideOnEsc]
921
960
  });
961
+ if (props.items.length > 0) {
962
+ popup == null ? void 0 : popup[0].show();
963
+ }
922
964
  },
923
965
  onUpdate(props) {
924
- component.updateProps(props);
966
+ component == null ? void 0 : component.updateProps(props);
967
+ if (props.items.length > 0) {
968
+ popup == null ? void 0 : popup[0].show();
969
+ } else {
970
+ popup == null ? void 0 : popup[0].hide();
971
+ }
925
972
  if (!props.clientRect) {
926
973
  return;
927
974
  }
928
- popup[0].setProps({
975
+ popup == null ? void 0 : popup[0].setProps({
929
976
  getReferenceClientRect: props.clientRect
930
977
  });
931
978
  },
932
979
  onKeyDown(props) {
933
- if (props.event.key === "Escape") {
934
- popup[0].hide();
935
- return true;
980
+ var _a;
981
+ if (popupIsOpen) {
982
+ return (_a = component == null ? void 0 : component.ref) == null ? void 0 : _a.onKeyDown(props);
936
983
  }
937
- return component == null ? void 0 : component.ref.onKeyDown(props);
938
984
  },
939
985
  onExit() {
940
- popup[0].destroy();
941
- component.destroy();
986
+ popup == null ? void 0 : popup[0].destroy();
987
+ popup = null;
988
+ component == null ? void 0 : component.destroy();
989
+ component = null;
942
990
  }
943
991
  };
944
992
  }
@@ -986,6 +1034,7 @@ const channelSuggestion = {
986
1034
  render: () => {
987
1035
  let component;
988
1036
  let popup;
1037
+ let popupIsOpen = false;
989
1038
  return {
990
1039
  onStart: (props) => {
991
1040
  component = new vue2.VueRenderer(SuggestionList, {
@@ -1004,31 +1053,48 @@ const channelSuggestion = {
1004
1053
  getReferenceClientRect: props.clientRect,
1005
1054
  appendTo: () => document.body,
1006
1055
  content: component.element,
1007
- showOnCreate: true,
1056
+ showOnCreate: false,
1057
+ onShow: () => {
1058
+ popupIsOpen = true;
1059
+ },
1060
+ onHidden: () => {
1061
+ popupIsOpen = false;
1062
+ },
1008
1063
  interactive: true,
1009
1064
  trigger: "manual",
1010
- placement: "top-start"
1065
+ placement: "top-start",
1066
+ zIndex: 650,
1067
+ plugins: [hideOnEsc]
1011
1068
  });
1069
+ if (props.items.length > 0) {
1070
+ popup == null ? void 0 : popup[0].show();
1071
+ }
1012
1072
  },
1013
1073
  onUpdate(props) {
1014
- component.updateProps(props);
1074
+ component == null ? void 0 : component.updateProps(props);
1075
+ if (props.items.length > 0) {
1076
+ popup == null ? void 0 : popup[0].show();
1077
+ } else {
1078
+ popup == null ? void 0 : popup[0].hide();
1079
+ }
1015
1080
  if (!props.clientRect) {
1016
1081
  return;
1017
1082
  }
1018
- popup[0].setProps({
1083
+ popup == null ? void 0 : popup[0].setProps({
1019
1084
  getReferenceClientRect: props.clientRect
1020
1085
  });
1021
1086
  },
1022
1087
  onKeyDown(props) {
1023
- if (props.event.key === "Escape") {
1024
- popup[0].hide();
1025
- return true;
1088
+ var _a;
1089
+ if (popupIsOpen) {
1090
+ return (_a = component == null ? void 0 : component.ref) == null ? void 0 : _a.onKeyDown(props);
1026
1091
  }
1027
- return component == null ? void 0 : component.ref.onKeyDown(props);
1028
1092
  },
1029
1093
  onExit() {
1030
- popup[0].destroy();
1031
- component.destroy();
1094
+ popup == null ? void 0 : popup[0].destroy();
1095
+ popup = null;
1096
+ component == null ? void 0 : component.destroy();
1097
+ component = null;
1032
1098
  }
1033
1099
  };
1034
1100
  }
@@ -1055,7 +1121,7 @@ const _sfc_main$1 = {
1055
1121
  };
1056
1122
  var _sfc_render$1 = function render9() {
1057
1123
  var _vm = this, _c = _vm._self._c;
1058
- return _c("div", [_c("div", { staticClass: "d-body--md-compact" }, [_c("span", [_vm._v("/" + _vm._s(_vm.command))]), _vm.parametersExample ? _c("span", [_vm._v(" " + _vm._s(_vm.parametersExample))]) : _vm._e()]), _c("div", { staticClass: "d-body--sm" }, [_vm._v(" " + _vm._s(_vm.description) + " ")])]);
1124
+ return _c("div", [_c("div", { staticClass: "d-body--md-compact" }, [_c("span", [_vm._v("/" + _vm._s(_vm.command))]), _vm.parametersExample ? _c("span", [_vm._v(" " + _vm._s(_vm.parametersExample))]) : _vm._e()]), _c("div", { staticClass: "d-body--sm d-fc-tertiary" }, [_vm._v(" " + _vm._s(_vm.description) + " ")])]);
1059
1125
  };
1060
1126
  var _sfc_staticRenderFns$1 = [];
1061
1127
  var __component__$1 = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
@@ -1078,6 +1144,7 @@ const slashCommandSuggestion = {
1078
1144
  render: () => {
1079
1145
  let component;
1080
1146
  let popup;
1147
+ let popupIsOpen = false;
1081
1148
  return {
1082
1149
  onStart: (props) => {
1083
1150
  component = new vue2.VueRenderer(SuggestionList, {
@@ -1096,31 +1163,48 @@ const slashCommandSuggestion = {
1096
1163
  getReferenceClientRect: props.clientRect,
1097
1164
  appendTo: () => document.body,
1098
1165
  content: component.element,
1099
- showOnCreate: true,
1166
+ showOnCreate: false,
1167
+ onShow: () => {
1168
+ popupIsOpen = true;
1169
+ },
1170
+ onHidden: () => {
1171
+ popupIsOpen = false;
1172
+ },
1100
1173
  interactive: true,
1101
1174
  trigger: "manual",
1102
- placement: "top-start"
1175
+ placement: "top-start",
1176
+ zIndex: 650,
1177
+ plugins: [hideOnEsc]
1103
1178
  });
1179
+ if (props.items.length > 0) {
1180
+ popup == null ? void 0 : popup[0].show();
1181
+ }
1104
1182
  },
1105
1183
  onUpdate(props) {
1106
- component.updateProps(props);
1184
+ component == null ? void 0 : component.updateProps(props);
1185
+ if (props.items.length > 0) {
1186
+ popup == null ? void 0 : popup[0].show();
1187
+ } else {
1188
+ popup == null ? void 0 : popup[0].hide();
1189
+ }
1107
1190
  if (!props.clientRect) {
1108
1191
  return;
1109
1192
  }
1110
- popup[0].setProps({
1193
+ popup == null ? void 0 : popup[0].setProps({
1111
1194
  getReferenceClientRect: props.clientRect
1112
1195
  });
1113
1196
  },
1114
1197
  onKeyDown(props) {
1115
- if (props.event.key === "Escape") {
1116
- popup[0].hide();
1117
- return true;
1198
+ var _a;
1199
+ if (popupIsOpen) {
1200
+ return (_a = component == null ? void 0 : component.ref) == null ? void 0 : _a.onKeyDown(props);
1118
1201
  }
1119
- return component == null ? void 0 : component.ref.onKeyDown(props);
1120
1202
  },
1121
1203
  onExit() {
1122
- popup[0].destroy();
1123
- component.destroy();
1204
+ popup == null ? void 0 : popup[0].destroy();
1205
+ popup = null;
1206
+ component == null ? void 0 : component.destroy();
1207
+ component = null;
1124
1208
  }
1125
1209
  };
1126
1210
  }
@@ -1370,7 +1454,13 @@ const _sfc_main = {
1370
1454
  * @event focus
1371
1455
  * @type {FocusEvent}
1372
1456
  */
1373
- "focus"
1457
+ "focus",
1458
+ /**
1459
+ * Enter was pressed. Note that shift enter must be pressed to line break the input.
1460
+ * @event enter
1461
+ * @type {String}
1462
+ */
1463
+ "enter"
1374
1464
  ],
1375
1465
  data() {
1376
1466
  return {
@@ -1435,14 +1525,20 @@ const _sfc_main = {
1435
1525
  HardBreak.extend({
1436
1526
  addKeyboardShortcuts() {
1437
1527
  return {
1438
- Enter: () => true,
1439
- "Shift-Enter": () => this.editor.commands.first(({ commands }) => [
1440
- () => commands.newlineInCode(),
1441
- () => self.allowBulletList && commands.splitListItem("listItem"),
1442
- () => commands.createParagraphNear(),
1443
- () => commands.liftEmptyBlock(),
1444
- () => commands.splitBlock()
1445
- ])
1528
+ Enter: () => {
1529
+ self.$emit("enter");
1530
+ return true;
1531
+ },
1532
+ "Shift-Enter": () => {
1533
+ this.editor.commands.first(({ commands }) => [
1534
+ () => commands.newlineInCode(),
1535
+ () => self.allowBulletList && commands.splitListItem("listItem"),
1536
+ () => commands.createParagraphNear(),
1537
+ () => commands.liftEmptyBlock(),
1538
+ () => commands.splitBlock()
1539
+ ]);
1540
+ return true;
1541
+ }
1446
1542
  };
1447
1543
  }
1448
1544
  })