@fastkit/vui 0.6.31 → 0.6.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/vui.cjs.js CHANGED
@@ -11,8 +11,14 @@ var vueLoading = require('@fastkit/vue-loading');
11
11
  var iconFont = require('@fastkit/icon-font');
12
12
  var helpers = require('@fastkit/helpers');
13
13
  var vueAppLayout = require('@fastkit/vue-app-layout');
14
+ var vue3 = require('@tiptap/vue-3');
15
+ var StarterKit = require('@tiptap/starter-kit');
14
16
  var vueScroller = require('@fastkit/vue-scroller');
15
17
 
18
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
19
+
20
+ var StarterKit__default = /*#__PURE__*/_interopDefaultLegacy(StarterKit);
21
+
16
22
  const CONTROL_SIZES = ['sm', 'md', 'lg'];
17
23
  const CONTROL_FIELD_VARIANTS = ['outlined', 'filled', 'flat'];
18
24
 
@@ -479,8 +485,10 @@ const VButton = vue.defineComponent({
479
485
  });
480
486
  const isPlain = vue.computed(() => color.variant.value.value === vui.setting('plainVariant') && color.color.value.value === defaults.color);
481
487
  const isLoading = vue.computed(() => props.loading); // const isDisabled = computed(() => props.disabled);
488
+ // const isRounded = computed(() =>
489
+ // props.rounded != null ? props.rounded : !!icon.value,
490
+ // );
482
491
 
483
- const isRounded = vue.computed(() => props.rounded || !!icon.value);
484
492
  const spacer = vue.computed(() => {
485
493
  const _spacer = props.spacer;
486
494
  if (!_spacer) return;
@@ -490,7 +498,7 @@ const VButton = vue.defineComponent({
490
498
  spacer.value ? `v-button--spacer-${spacer.value}` : undefined, `v-button--${control.size.value}`, {
491
499
  'v-button--loading': isLoading.value,
492
500
  'v-button--icon': !!icon.value,
493
- 'v-button--rounded': isRounded.value,
501
+ 'v-button--rounded': props.rounded,
494
502
  'v-button--plain': isPlain.value
495
503
  }]);
496
504
  return () => {
@@ -511,6 +519,66 @@ const VButton = vue.defineComponent({
511
519
 
512
520
  });
513
521
 
522
+ const VButtonGroup = vue.defineComponent({
523
+ name: 'VButtonGroup',
524
+ props: { ...vueColorScheme.colorSchemeProps(),
525
+ ...createControlProps(),
526
+ disabled: Boolean
527
+ },
528
+
529
+ setup(props, ctx) {
530
+ return () => {
531
+ let buttonLength = 0;
532
+ const children = (vueUtils.renderSlotOrEmpty(ctx.slots) || []).map(node => {
533
+ if (!vue.isVNode(node) || node.type !== VButton) {
534
+ return {
535
+ isButton: false,
536
+ node
537
+ };
538
+ }
539
+
540
+ buttonLength++;
541
+ return {
542
+ isButton: true,
543
+ node
544
+ };
545
+ }); // const children = renderSlotOrEmpty(ctx.slots) || [];
546
+ // const $children = children.map((child) => {
547
+ // if (!isVNode(child) || child.type !== VButton) return child;
548
+ // const $child = cloneVNode(child, {
549
+ // ...props,
550
+ // ...child.props,
551
+ // });
552
+ // return $child;
553
+ // });
554
+
555
+ let buttonIndex = 0;
556
+ const $children = children.map(child => {
557
+ if (child.isButton) {
558
+ buttonIndex++;
559
+ const hasLeft = buttonIndex > 1;
560
+ const hasRight = buttonIndex < buttonLength;
561
+ const childProps = child.node.props;
562
+ return vue.cloneVNode(child.node, { ...props,
563
+ ...childProps,
564
+ rouded: false,
565
+ class: ['v-button-group__item', {
566
+ 'v-button-group__item--has-left': hasLeft,
567
+ 'v-button-group__item--has-right': hasRight
568
+ }]
569
+ });
570
+ }
571
+
572
+ return child.node;
573
+ });
574
+ return vue.createVNode("div", {
575
+ "class": "v-button-group"
576
+ }, [$children]);
577
+ };
578
+ }
579
+
580
+ });
581
+
514
582
  function _isSlot$c(s) {
515
583
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
516
584
  }
@@ -841,9 +909,9 @@ const VListTile = vue.defineComponent({
841
909
  return icon;
842
910
  });
843
911
  const endIcon = vue.computed(() => resolveRawIconProp(false, props.endIcon));
844
- const hasTo = vue.computed(() => !!props.to);
912
+ const hasTo = vue.computed(() => !!ctx.attrs.to);
845
913
  const link = vueRouter.useLink({
846
- to: props.to || ''
914
+ to: ctx.attrs.to || ''
847
915
  });
848
916
  const isActive = vue.computed(() => {
849
917
  if (!hasTo.value) return false;
@@ -965,7 +1033,11 @@ function _isSlot$a(s) {
965
1033
 
966
1034
  function createNavigationItemProps() {
967
1035
  return { ...createListTileProps(),
968
- match: String
1036
+ match: String // key: {
1037
+ // type: [String, Number],
1038
+ // required: true,
1039
+ // },
1040
+
969
1041
  };
970
1042
  }
971
1043
  function resolveNavigationItemInput(input) {
@@ -1010,12 +1082,14 @@ const VNavigationItem = vue.defineComponent({
1010
1082
  const c = props.children;
1011
1083
  return c && c.length ? c : undefined;
1012
1084
  });
1013
- const to = vue.computed(() => props.to);
1085
+ const to = vue.computed(() => ctx.attrs.to);
1014
1086
  const match = vue.computed(() => {
1015
1087
  const {
1016
- match,
1017
- to
1088
+ match
1018
1089
  } = props;
1090
+ const {
1091
+ to
1092
+ } = ctx.attrs;
1019
1093
  if (match) return match;
1020
1094
  if (!to) return;
1021
1095
  if (typeof to === 'string') return to;
@@ -1085,6 +1159,7 @@ const VNavigationItem = vue.defineComponent({
1085
1159
  });
1086
1160
 
1087
1161
  function open() {
1162
+ if (!children.value) return;
1088
1163
  opened.value = true;
1089
1164
  }
1090
1165
 
@@ -1098,9 +1173,13 @@ const VNavigationItem = vue.defineComponent({
1098
1173
 
1099
1174
  const onClick = ev => {
1100
1175
  if (!to.value) {
1101
- toggle();
1102
- } // ctx.emit('click', ev);
1176
+ return toggle();
1177
+ }
1103
1178
 
1179
+ open(); // if (!to.value) {
1180
+ // toggle();
1181
+ // }
1182
+ // ctx.emit('click', ev);
1104
1183
  };
1105
1184
 
1106
1185
  const onChangeActive = isActive => {
@@ -1122,6 +1201,9 @@ const VNavigationItem = vue.defineComponent({
1122
1201
  ctx.emit('changeActive', isActive);
1123
1202
  };
1124
1203
 
1204
+ ctx.expose({
1205
+ close
1206
+ });
1125
1207
  return () => {
1126
1208
  let _slot;
1127
1209
 
@@ -1173,6 +1255,28 @@ const VNavigation = vue.defineComponent({
1173
1255
  const c = props.caption;
1174
1256
  return typeof c === 'function' ? c() : c;
1175
1257
  });
1258
+ const itemsRef = vue.ref([]);
1259
+ vue.onBeforeUpdate(() => {
1260
+ itemsRef.value = [];
1261
+ });
1262
+
1263
+ function setItemRef(item, itemRef) {
1264
+ itemsRef.value.push({
1265
+ key: item.key,
1266
+ ref: itemRef
1267
+ });
1268
+ }
1269
+
1270
+ function onItemActivated(item) {
1271
+ itemsRef.value.forEach(({
1272
+ key,
1273
+ ref
1274
+ }) => {
1275
+ if (key === item.key) return;
1276
+ ref.close();
1277
+ });
1278
+ }
1279
+
1176
1280
  return () => {
1177
1281
  const $caption = caption.value;
1178
1282
  return vue.createVNode("nav", {
@@ -1181,7 +1285,17 @@ const VNavigation = vue.defineComponent({
1181
1285
  "class": "v-navigation__caption"
1182
1286
  }, [$caption]), items.value.map(item => renderNavigationItemInput(item, {
1183
1287
  class: 'v-navigation__item',
1184
- startIconEmptySpace: startIconEmptySpace.value
1288
+ startIconEmptySpace: startIconEmptySpace.value,
1289
+ ref: ref => {
1290
+ setItemRef(item, ref);
1291
+ },
1292
+ onChangeActive: isActive => {
1293
+ if (isActive
1294
+ /* && item.children && item.children.length*/
1295
+ ) {
1296
+ onItemActivated(item);
1297
+ }
1298
+ }
1185
1299
  }))]);
1186
1300
  };
1187
1301
  }
@@ -1930,6 +2044,86 @@ const VTextarea = vue.defineComponent({
1930
2044
 
1931
2045
  });
1932
2046
 
2047
+ const VWysiwygEditor = vue.defineComponent({
2048
+ name: 'VWysiwygEditor',
2049
+ props: { // ...props,
2050
+ ...vueKit.createFormControlProps(),
2051
+ ...createControlFieldProps(),
2052
+ ...createControlFieldProviderProps(),
2053
+ ...createControlProps(),
2054
+ ...vueKit.defineSlotsProps()
2055
+ },
2056
+
2057
+ // emits,
2058
+ setup(props, ctx) {
2059
+ const editor = vue3.useEditor({
2060
+ content: '<p>I’m running Tiptap with Vue.js. šŸŽ‰</p>',
2061
+ extensions: [StarterKit__default]
2062
+ }); // const vui = useVui();
2063
+ // const inputControl = useTiptapControl(props, ctx, {
2064
+ // nodeType: VUI_TEXTAREA_SYMBOL,
2065
+ // defaultRows: vui.tiptapRows,
2066
+ // });
2067
+ // const control = useControl(props);
2068
+ // useControlField(props);
2069
+
2070
+ return {
2071
+ editor // ...inputControl.expose(),
2072
+ // ...control,
2073
+
2074
+ };
2075
+ },
2076
+
2077
+ render() {
2078
+ return vue.createVNode(VFormControl, {
2079
+ "nodeControl": this.nodeControl,
2080
+ "label": this.label,
2081
+ "hint": this.hint,
2082
+ "hiddenInfo": this.hiddenInfo,
2083
+ "onClickLabel": ev => {// this.focus();
2084
+ }
2085
+ }, { ...this.$slots,
2086
+ default: () => vue.createVNode(VControlField, {
2087
+ "class": "v-wysiwyg-editor__input",
2088
+ "autoHeight": true,
2089
+ "startAdornment": this.startAdornment,
2090
+ "endAdornment": this.endAdornment
2091
+ }, { ...this.$slots,
2092
+ default: () => {
2093
+ const {
2094
+ editor
2095
+ } = this;
2096
+ return vue.createVNode(vue.Fragment, null, [vue.createVNode(vue3.EditorContent, {
2097
+ "class": "v-wysiwyg-editor__input__element wysiwyg",
2098
+ "editor": editor
2099
+ }, null), !!editor && vue.createVNode(vue3.BubbleMenu, {
2100
+ "class": "v-wysiwyg-editor__bubble-menu",
2101
+ "editor": editor
2102
+ }, {
2103
+ default: () => [vue.createVNode(VButton, {
2104
+ "size": "sm",
2105
+ "onClick": () => {
2106
+ editor.chain().focus().toggleBold().run();
2107
+ }
2108
+ }, {
2109
+ default: () => [vue.createTextVNode("Bold")]
2110
+ })]
2111
+ })]);
2112
+ } // this.tiptapControl.createInputElement({
2113
+ // class: 'v-wysiwyg-editor__input__element',
2114
+ // }),
2115
+
2116
+ }) // infoAppends: () => {
2117
+ // const { counterResult } = this;
2118
+ // if (!counterResult) return;
2119
+ // return <VTextCounter {...counterResult} />;
2120
+ // },
2121
+
2122
+ });
2123
+ }
2124
+
2125
+ });
2126
+
1933
2127
  const {
1934
2128
  props,
1935
2129
  emits
@@ -3456,6 +3650,7 @@ exports.PAGINATION_ALIGNS = PAGINATION_ALIGNS;
3456
3650
  exports.VApp = VApp;
3457
3651
  exports.VBreadcrumbs = VBreadcrumbs;
3458
3652
  exports.VButton = VButton;
3653
+ exports.VButtonGroup = VButtonGroup;
3459
3654
  exports.VCard = VCard;
3460
3655
  exports.VCardActions = VCardActions;
3461
3656
  exports.VCardContent = VCardContent;
@@ -3497,6 +3692,7 @@ exports.VUI_SWITCH_GROUP_SYMBOL = VUI_SWITCH_GROUP_SYMBOL;
3497
3692
  exports.VUI_SWITCH_SYMBOL = VUI_SWITCH_SYMBOL;
3498
3693
  exports.VUI_TEXTAREA_SYMBOL = VUI_TEXTAREA_SYMBOL;
3499
3694
  exports.VUI_TEXT_FIELD_SYMBOL = VUI_TEXT_FIELD_SYMBOL;
3695
+ exports.VWysiwygEditor = VWysiwygEditor;
3500
3696
  exports.VuiColorProviderInjectionKey = VuiColorProviderInjectionKey;
3501
3697
  exports.VuiControlFieldInjectionKey = VuiControlFieldInjectionKey;
3502
3698
  exports.VuiControlInjectionKey = VuiControlInjectionKey;
@@ -11,8 +11,14 @@ var vueLoading = require('@fastkit/vue-loading');
11
11
  var iconFont = require('@fastkit/icon-font');
12
12
  var helpers = require('@fastkit/helpers');
13
13
  var vueAppLayout = require('@fastkit/vue-app-layout');
14
+ var vue3 = require('@tiptap/vue-3');
15
+ var StarterKit = require('@tiptap/starter-kit');
14
16
  var vueScroller = require('@fastkit/vue-scroller');
15
17
 
18
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
19
+
20
+ var StarterKit__default = /*#__PURE__*/_interopDefaultLegacy(StarterKit);
21
+
16
22
  const CONTROL_SIZES = ['sm', 'md', 'lg'];
17
23
  const CONTROL_FIELD_VARIANTS = ['outlined', 'filled', 'flat'];
18
24
 
@@ -479,8 +485,10 @@ const VButton = vue.defineComponent({
479
485
  });
480
486
  const isPlain = vue.computed(() => color.variant.value.value === vui.setting('plainVariant') && color.color.value.value === defaults.color);
481
487
  const isLoading = vue.computed(() => props.loading); // const isDisabled = computed(() => props.disabled);
488
+ // const isRounded = computed(() =>
489
+ // props.rounded != null ? props.rounded : !!icon.value,
490
+ // );
482
491
 
483
- const isRounded = vue.computed(() => props.rounded || !!icon.value);
484
492
  const spacer = vue.computed(() => {
485
493
  const _spacer = props.spacer;
486
494
  if (!_spacer) return;
@@ -490,7 +498,7 @@ const VButton = vue.defineComponent({
490
498
  spacer.value ? `v-button--spacer-${spacer.value}` : undefined, `v-button--${control.size.value}`, {
491
499
  'v-button--loading': isLoading.value,
492
500
  'v-button--icon': !!icon.value,
493
- 'v-button--rounded': isRounded.value,
501
+ 'v-button--rounded': props.rounded,
494
502
  'v-button--plain': isPlain.value
495
503
  }]);
496
504
  return () => {
@@ -511,6 +519,66 @@ const VButton = vue.defineComponent({
511
519
 
512
520
  });
513
521
 
522
+ const VButtonGroup = vue.defineComponent({
523
+ name: 'VButtonGroup',
524
+ props: { ...vueColorScheme.colorSchemeProps(),
525
+ ...createControlProps(),
526
+ disabled: Boolean
527
+ },
528
+
529
+ setup(props, ctx) {
530
+ return () => {
531
+ let buttonLength = 0;
532
+ const children = (vueUtils.renderSlotOrEmpty(ctx.slots) || []).map(node => {
533
+ if (!vue.isVNode(node) || node.type !== VButton) {
534
+ return {
535
+ isButton: false,
536
+ node
537
+ };
538
+ }
539
+
540
+ buttonLength++;
541
+ return {
542
+ isButton: true,
543
+ node
544
+ };
545
+ }); // const children = renderSlotOrEmpty(ctx.slots) || [];
546
+ // const $children = children.map((child) => {
547
+ // if (!isVNode(child) || child.type !== VButton) return child;
548
+ // const $child = cloneVNode(child, {
549
+ // ...props,
550
+ // ...child.props,
551
+ // });
552
+ // return $child;
553
+ // });
554
+
555
+ let buttonIndex = 0;
556
+ const $children = children.map(child => {
557
+ if (child.isButton) {
558
+ buttonIndex++;
559
+ const hasLeft = buttonIndex > 1;
560
+ const hasRight = buttonIndex < buttonLength;
561
+ const childProps = child.node.props;
562
+ return vue.cloneVNode(child.node, { ...props,
563
+ ...childProps,
564
+ rouded: false,
565
+ class: ['v-button-group__item', {
566
+ 'v-button-group__item--has-left': hasLeft,
567
+ 'v-button-group__item--has-right': hasRight
568
+ }]
569
+ });
570
+ }
571
+
572
+ return child.node;
573
+ });
574
+ return vue.createVNode("div", {
575
+ "class": "v-button-group"
576
+ }, [$children]);
577
+ };
578
+ }
579
+
580
+ });
581
+
514
582
  function _isSlot$c(s) {
515
583
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
516
584
  }
@@ -841,9 +909,9 @@ const VListTile = vue.defineComponent({
841
909
  return icon;
842
910
  });
843
911
  const endIcon = vue.computed(() => resolveRawIconProp(false, props.endIcon));
844
- const hasTo = vue.computed(() => !!props.to);
912
+ const hasTo = vue.computed(() => !!ctx.attrs.to);
845
913
  const link = vueRouter.useLink({
846
- to: props.to || ''
914
+ to: ctx.attrs.to || ''
847
915
  });
848
916
  const isActive = vue.computed(() => {
849
917
  if (!hasTo.value) return false;
@@ -965,7 +1033,11 @@ function _isSlot$a(s) {
965
1033
 
966
1034
  function createNavigationItemProps() {
967
1035
  return { ...createListTileProps(),
968
- match: String
1036
+ match: String // key: {
1037
+ // type: [String, Number],
1038
+ // required: true,
1039
+ // },
1040
+
969
1041
  };
970
1042
  }
971
1043
  function resolveNavigationItemInput(input) {
@@ -1010,12 +1082,14 @@ const VNavigationItem = vue.defineComponent({
1010
1082
  const c = props.children;
1011
1083
  return c && c.length ? c : undefined;
1012
1084
  });
1013
- const to = vue.computed(() => props.to);
1085
+ const to = vue.computed(() => ctx.attrs.to);
1014
1086
  const match = vue.computed(() => {
1015
1087
  const {
1016
- match,
1017
- to
1088
+ match
1018
1089
  } = props;
1090
+ const {
1091
+ to
1092
+ } = ctx.attrs;
1019
1093
  if (match) return match;
1020
1094
  if (!to) return;
1021
1095
  if (typeof to === 'string') return to;
@@ -1085,6 +1159,7 @@ const VNavigationItem = vue.defineComponent({
1085
1159
  });
1086
1160
 
1087
1161
  function open() {
1162
+ if (!children.value) return;
1088
1163
  opened.value = true;
1089
1164
  }
1090
1165
 
@@ -1098,9 +1173,13 @@ const VNavigationItem = vue.defineComponent({
1098
1173
 
1099
1174
  const onClick = ev => {
1100
1175
  if (!to.value) {
1101
- toggle();
1102
- } // ctx.emit('click', ev);
1176
+ return toggle();
1177
+ }
1103
1178
 
1179
+ open(); // if (!to.value) {
1180
+ // toggle();
1181
+ // }
1182
+ // ctx.emit('click', ev);
1104
1183
  };
1105
1184
 
1106
1185
  const onChangeActive = isActive => {
@@ -1122,6 +1201,9 @@ const VNavigationItem = vue.defineComponent({
1122
1201
  ctx.emit('changeActive', isActive);
1123
1202
  };
1124
1203
 
1204
+ ctx.expose({
1205
+ close
1206
+ });
1125
1207
  return () => {
1126
1208
  let _slot;
1127
1209
 
@@ -1173,6 +1255,28 @@ const VNavigation = vue.defineComponent({
1173
1255
  const c = props.caption;
1174
1256
  return typeof c === 'function' ? c() : c;
1175
1257
  });
1258
+ const itemsRef = vue.ref([]);
1259
+ vue.onBeforeUpdate(() => {
1260
+ itemsRef.value = [];
1261
+ });
1262
+
1263
+ function setItemRef(item, itemRef) {
1264
+ itemsRef.value.push({
1265
+ key: item.key,
1266
+ ref: itemRef
1267
+ });
1268
+ }
1269
+
1270
+ function onItemActivated(item) {
1271
+ itemsRef.value.forEach(({
1272
+ key,
1273
+ ref
1274
+ }) => {
1275
+ if (key === item.key) return;
1276
+ ref.close();
1277
+ });
1278
+ }
1279
+
1176
1280
  return () => {
1177
1281
  const $caption = caption.value;
1178
1282
  return vue.createVNode("nav", {
@@ -1181,7 +1285,17 @@ const VNavigation = vue.defineComponent({
1181
1285
  "class": "v-navigation__caption"
1182
1286
  }, [$caption]), items.value.map(item => renderNavigationItemInput(item, {
1183
1287
  class: 'v-navigation__item',
1184
- startIconEmptySpace: startIconEmptySpace.value
1288
+ startIconEmptySpace: startIconEmptySpace.value,
1289
+ ref: ref => {
1290
+ setItemRef(item, ref);
1291
+ },
1292
+ onChangeActive: isActive => {
1293
+ if (isActive
1294
+ /* && item.children && item.children.length*/
1295
+ ) {
1296
+ onItemActivated(item);
1297
+ }
1298
+ }
1185
1299
  }))]);
1186
1300
  };
1187
1301
  }
@@ -1930,6 +2044,86 @@ const VTextarea = vue.defineComponent({
1930
2044
 
1931
2045
  });
1932
2046
 
2047
+ const VWysiwygEditor = vue.defineComponent({
2048
+ name: 'VWysiwygEditor',
2049
+ props: { // ...props,
2050
+ ...vueKit.createFormControlProps(),
2051
+ ...createControlFieldProps(),
2052
+ ...createControlFieldProviderProps(),
2053
+ ...createControlProps(),
2054
+ ...vueKit.defineSlotsProps()
2055
+ },
2056
+
2057
+ // emits,
2058
+ setup(props, ctx) {
2059
+ const editor = vue3.useEditor({
2060
+ content: '<p>I’m running Tiptap with Vue.js. šŸŽ‰</p>',
2061
+ extensions: [StarterKit__default]
2062
+ }); // const vui = useVui();
2063
+ // const inputControl = useTiptapControl(props, ctx, {
2064
+ // nodeType: VUI_TEXTAREA_SYMBOL,
2065
+ // defaultRows: vui.tiptapRows,
2066
+ // });
2067
+ // const control = useControl(props);
2068
+ // useControlField(props);
2069
+
2070
+ return {
2071
+ editor // ...inputControl.expose(),
2072
+ // ...control,
2073
+
2074
+ };
2075
+ },
2076
+
2077
+ render() {
2078
+ return vue.createVNode(VFormControl, {
2079
+ "nodeControl": this.nodeControl,
2080
+ "label": this.label,
2081
+ "hint": this.hint,
2082
+ "hiddenInfo": this.hiddenInfo,
2083
+ "onClickLabel": ev => {// this.focus();
2084
+ }
2085
+ }, { ...this.$slots,
2086
+ default: () => vue.createVNode(VControlField, {
2087
+ "class": "v-wysiwyg-editor__input",
2088
+ "autoHeight": true,
2089
+ "startAdornment": this.startAdornment,
2090
+ "endAdornment": this.endAdornment
2091
+ }, { ...this.$slots,
2092
+ default: () => {
2093
+ const {
2094
+ editor
2095
+ } = this;
2096
+ return vue.createVNode(vue.Fragment, null, [vue.createVNode(vue3.EditorContent, {
2097
+ "class": "v-wysiwyg-editor__input__element wysiwyg",
2098
+ "editor": editor
2099
+ }, null), !!editor && vue.createVNode(vue3.BubbleMenu, {
2100
+ "class": "v-wysiwyg-editor__bubble-menu",
2101
+ "editor": editor
2102
+ }, {
2103
+ default: () => [vue.createVNode(VButton, {
2104
+ "size": "sm",
2105
+ "onClick": () => {
2106
+ editor.chain().focus().toggleBold().run();
2107
+ }
2108
+ }, {
2109
+ default: () => [vue.createTextVNode("Bold")]
2110
+ })]
2111
+ })]);
2112
+ } // this.tiptapControl.createInputElement({
2113
+ // class: 'v-wysiwyg-editor__input__element',
2114
+ // }),
2115
+
2116
+ }) // infoAppends: () => {
2117
+ // const { counterResult } = this;
2118
+ // if (!counterResult) return;
2119
+ // return <VTextCounter {...counterResult} />;
2120
+ // },
2121
+
2122
+ });
2123
+ }
2124
+
2125
+ });
2126
+
1933
2127
  const {
1934
2128
  props,
1935
2129
  emits
@@ -3456,6 +3650,7 @@ exports.PAGINATION_ALIGNS = PAGINATION_ALIGNS;
3456
3650
  exports.VApp = VApp;
3457
3651
  exports.VBreadcrumbs = VBreadcrumbs;
3458
3652
  exports.VButton = VButton;
3653
+ exports.VButtonGroup = VButtonGroup;
3459
3654
  exports.VCard = VCard;
3460
3655
  exports.VCardActions = VCardActions;
3461
3656
  exports.VCardContent = VCardContent;
@@ -3497,6 +3692,7 @@ exports.VUI_SWITCH_GROUP_SYMBOL = VUI_SWITCH_GROUP_SYMBOL;
3497
3692
  exports.VUI_SWITCH_SYMBOL = VUI_SWITCH_SYMBOL;
3498
3693
  exports.VUI_TEXTAREA_SYMBOL = VUI_TEXTAREA_SYMBOL;
3499
3694
  exports.VUI_TEXT_FIELD_SYMBOL = VUI_TEXT_FIELD_SYMBOL;
3695
+ exports.VWysiwygEditor = VWysiwygEditor;
3500
3696
  exports.VuiColorProviderInjectionKey = VuiColorProviderInjectionKey;
3501
3697
  exports.VuiControlFieldInjectionKey = VuiControlFieldInjectionKey;
3502
3698
  exports.VuiControlInjectionKey = VuiControlInjectionKey;