@fastkit/vui 0.6.15 → 0.6.19

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.
@@ -8,6 +8,7 @@ var vueColorScheme = require('@fastkit/vue-color-scheme');
8
8
  var vueUtils = require('@fastkit/vue-utils');
9
9
  var vueLoading = require('@fastkit/vue-loading');
10
10
  var iconFont = require('@fastkit/icon-font');
11
+ var vueRouter = require('vue-router');
11
12
 
12
13
  const CONTROL_SIZES = ['sm', 'md', 'lg'];
13
14
  const CONTROL_FIELD_VARIANTS = ['outlined', 'filled', 'flat'];
@@ -253,16 +254,24 @@ function useElevation(props, opts = {}) {
253
254
  };
254
255
  }
255
256
 
256
- function createPaperProps() {
257
- return { ...createElevationProps(),
258
- square: Boolean,
257
+ function createPaperBaseProps() {
258
+ return {
259
259
  color: String,
260
260
  tag: {
261
261
  type: String,
262
262
  default: 'div'
263
263
  },
264
264
  ...vueUtils.defineSlotsProps()
265
- }; //
265
+ };
266
+ }
267
+ function createPaperProps() {
268
+ return { ...createElevationProps(),
269
+ ...createPaperBaseProps(),
270
+ square: Boolean,
271
+ headerProps: Object,
272
+ bodyProps: Object,
273
+ footerProps: Object
274
+ };
266
275
  }
267
276
  const VPaper = vue.defineComponent({
268
277
  name: 'VPaper',
@@ -279,6 +288,9 @@ const VPaper = vue.defineComponent({
279
288
  'v-paper--has-color': !!scope.value.value,
280
289
  'v-paper--square': props.square
281
290
  }]);
291
+ const headerProps = vue.computed(() => props.headerProps);
292
+ const bodyProps = vue.computed(() => props.bodyProps);
293
+ const footerProps = vue.computed(() => props.footerProps);
282
294
  return () => {
283
295
  const TagName = tag.value;
284
296
  const header = vueUtils.renderSlotOrEmpty(ctx.slots, 'header');
@@ -286,13 +298,13 @@ const VPaper = vue.defineComponent({
286
298
  return vue.createVNode(TagName, {
287
299
  "class": ['v-paper', classes.value]
288
300
  }, {
289
- default: () => [header && vue.createVNode("div", {
301
+ default: () => [header && vue.createVNode("div", vue.mergeProps({
290
302
  "class": "v-paper__header"
291
- }, [header]), vue.createVNode("div", {
303
+ }, headerProps.value), [header]), vue.createVNode("div", vue.mergeProps({
292
304
  "class": "v-paper__body"
293
- }, [vueUtils.renderSlotOrEmpty(ctx.slots, 'default')]), footer && vue.createVNode("div", {
305
+ }, bodyProps.value), [vueUtils.renderSlotOrEmpty(ctx.slots, 'default')]), footer && vue.createVNode("div", vue.mergeProps({
294
306
  "class": "v-paper__footer"
295
- }, [footer])]
307
+ }, footerProps.value), [footer])]
296
308
  });
297
309
  };
298
310
  }
@@ -345,13 +357,27 @@ const VCardActions = vue.defineComponent({
345
357
 
346
358
  });
347
359
 
348
- const _rawRawIconProp = [String, Function];
349
- function rawRawIconProp() {
350
- return _rawRawIconProp;
360
+ // prop: RawIconProp<T>,
361
+ // payload: () => T,
362
+ // ): RawIconProp {
363
+ // if (!prop || typeof prop !== 'function') {
364
+ // return prop;
365
+ // }
366
+ // const fn = (gen: IconGenerator): VNodeChild => {
367
+ // const t = payload();
368
+ // return prop(gen, t);
369
+ // };
370
+ // return fn;
371
+ // }
372
+ // export const rawRawIconProp = [String, Function] as PropType<RawIconProp>;
373
+
374
+ const _rawIconProp = [String, Function];
375
+ function rawIconProp() {
376
+ return _rawIconProp;
351
377
  }
352
- function resolveRawIconProp(prop, extraProps) {
378
+ function resolveRawIconProp(payload, prop, extraProps) {
353
379
  if (!prop) return;
354
- return typeof prop === 'function' ? prop(input => vue.createVNode(VIcon, vue.mergeProps(input, extraProps), null)) : vue.createVNode(VIcon, vue.mergeProps(extraProps, {
380
+ return typeof prop === 'function' ? prop(input => vue.createVNode(VIcon, vue.mergeProps(input, extraProps), null), payload) : vue.createVNode(VIcon, vue.mergeProps(extraProps, {
355
381
  "name": prop
356
382
  }), null);
357
383
  }
@@ -422,7 +448,7 @@ const LOADING_SIZE_MAP = {
422
448
  const VButton = vue.defineComponent({
423
449
  name: 'VButton',
424
450
  props: vueButtonProps,
425
- emits: { ...vueUtils.navigationableEmits.emits
451
+ emits: { ...vueUtils.navigationableEmits
426
452
  },
427
453
 
428
454
  setup(props, ctx) {
@@ -506,17 +532,23 @@ const VButton = vue.defineComponent({
506
532
  });
507
533
 
508
534
  function createListTileProps() {
509
- const icon = rawRawIconProp();
510
- return vueUtils.createPropsOptions({ ...vueUtils.navigationableProps,
511
- startIcon: icon,
512
- endIcon: icon,
513
- fallbackTag: {
514
- type: String,
515
- default: 'div'
516
- }
517
- });
535
+ const icon = rawIconProp();
536
+ return { ...vueUtils.navigationableProps,
537
+ ...vueUtils.createPropsOptions({
538
+ startIcon: icon,
539
+ endIcon: icon,
540
+ fallbackTag: {
541
+ type: String,
542
+ default: 'div'
543
+ },
544
+ startIconEmptySpace: Boolean,
545
+ color: String,
546
+ exactMatch: Boolean
547
+ })
548
+ };
518
549
  }
519
- const listTileEmits = { ...vueUtils.navigationableEmits.emits
550
+ const listTileEmits = { ...vueUtils.navigationableEmits,
551
+ changeActive: isActive => true
520
552
  };
521
553
  const VListTile = vue.defineComponent({
522
554
  name: 'VListTile',
@@ -525,20 +557,57 @@ const VListTile = vue.defineComponent({
525
557
  },
526
558
 
527
559
  setup(props, ctx) {
528
- const startIcon = vue.computed(() => resolveRawIconProp(props.startIcon));
529
- const endIcon = vue.computed(() => resolveRawIconProp(props.endIcon));
530
- const navigationable = vueUtils.useNavigationable(props, () => props.fallbackTag);
560
+ const startIcon = vue.computed(() => {
561
+ let icon = resolveRawIconProp(false, props.startIcon);
562
+
563
+ if (!icon && props.startIconEmptySpace) {
564
+ icon = resolveRawIconProp(false, '$empty');
565
+ }
566
+
567
+ return icon;
568
+ });
569
+ const endIcon = vue.computed(() => resolveRawIconProp(false, props.endIcon));
570
+ const navigationable = vueUtils.useNavigationable(props, () => props.fallbackTag, ctx);
571
+ const hasTo = vue.computed(() => !!props.to);
572
+ const link = vueRouter.useLink({
573
+ to: props.to || ''
574
+ });
575
+ const isActive = vue.computed(() => {
576
+ if (!hasTo.value) return false;
577
+ return props.exactMatch ? link.isExactActive.value : link.isActive.value;
578
+ });
579
+ const color = vueColorScheme.useScopeColorClass(props);
580
+ const classes = vue.computed(() => {
581
+ const _color = color.value;
582
+ const hasColor = !!_color.value;
583
+ const _navigationable = navigationable.value;
584
+ const clickable = _navigationable.clickable;
585
+ return [color.value.className, _navigationable.classes, {
586
+ 'v-list-tile--clickable': clickable,
587
+ 'v-list-tile--plain': !hasColor,
588
+ 'v-list-tile--has-color': hasColor,
589
+ 'v-list-tile--active': isActive.value
590
+ }];
591
+ });
592
+ vue.watch(() => isActive.value, isActive => {
593
+ ctx.emit('changeActive', isActive);
594
+ }, {
595
+ immediate: true
596
+ });
531
597
  return () => {
532
598
  const _startIcon = startIcon.value;
533
599
  const _endIcon = endIcon.value;
534
600
  const {
535
601
  Tag,
536
- attrs,
537
- classes
602
+ attrs
538
603
  } = navigationable.value;
539
604
  return vue.createVNode(Tag, vue.mergeProps({
540
- "class": ['v-list-tile', classes]
541
- }, attrs), {
605
+ "class": ['v-list-tile', classes.value]
606
+ }, attrs, {
607
+ "onClick": ev => {
608
+ ctx.emit('click', ev);
609
+ }
610
+ }), {
542
611
  default: () => [_startIcon && vue.createVNode("span", {
543
612
  "class": "v-list-tile__icon v-list-tile__icon--start"
544
613
  }, [_startIcon]), vue.createVNode("span", {
@@ -552,8 +621,34 @@ const VListTile = vue.defineComponent({
552
621
 
553
622
  });
554
623
 
555
- const VAccordion = vue.defineComponent({
556
- name: 'VAccordion'
624
+ const VDrawerLayout = vue.defineComponent({
625
+ name: 'VDrawerLayout',
626
+ props: { ...createPaperBaseProps()
627
+ },
628
+
629
+ setup(props, ctx) {
630
+ return () => {
631
+ const paperProps = vue.computed(() => ({
632
+ color: props.color,
633
+ tag: props.tag
634
+ }));
635
+ return vue.createVNode(VPaper, vue.mergeProps({
636
+ "class": "v-drawer-layout"
637
+ }, paperProps.value, {
638
+ "square": true,
639
+ "headerProps": {
640
+ class: 'v-drawer-layout__header'
641
+ },
642
+ "bodyProps": {
643
+ class: 'v-drawer-layout__body'
644
+ },
645
+ "footerProps": {
646
+ class: 'v-drawer-layout__footer'
647
+ }
648
+ }), ctx.slots);
649
+ };
650
+ }
651
+
557
652
  });
558
653
 
559
654
  function _isSlot$6(s) {
@@ -561,72 +656,225 @@ function _isSlot$6(s) {
561
656
  }
562
657
 
563
658
  function createNavigationItemProps() {
564
- return { ...createListTileProps()
659
+ return { ...createListTileProps(),
660
+ match: String
661
+ };
662
+ }
663
+ function resolveNavigationItemInput(input) {
664
+ let label = input.label;
665
+ const props = { ...input
666
+ };
667
+
668
+ if (typeof label === 'function') {
669
+ label = label();
670
+ }
671
+
672
+ delete props.label;
673
+ return {
674
+ label,
675
+ props
565
676
  };
566
677
  }
678
+ function renderNavigationItemInput(input, extraProps) {
679
+ const {
680
+ label,
681
+ props
682
+ } = resolveNavigationItemInput(input);
683
+ return vue.createVNode(VNavigationItem, { ...props,
684
+ ...extraProps
685
+ }, _isSlot$6(label) ? label : {
686
+ default: () => [label]
687
+ });
688
+ }
567
689
  const VNavigationItem = vue.defineComponent({
568
690
  name: 'VNavigationItem',
569
- props: createNavigationItemProps(),
691
+ inheritAttrs: false,
692
+ props: { ...createNavigationItemProps(),
693
+ children: Array
694
+ },
570
695
  emits: { ...listTileEmits
571
696
  },
572
697
 
573
698
  setup(props, ctx) {
574
- const _props = vue.computed(() => ({ ...props
575
- }));
699
+ const vui = useVui();
700
+ const opened = vue.ref(false);
701
+ const children = vue.computed(() => {
702
+ const c = props.children;
703
+ return c && c.length ? c : undefined;
704
+ });
705
+ const to = vue.computed(() => props.to);
706
+ const match = vue.computed(() => {
707
+ const {
708
+ match,
709
+ to
710
+ } = props;
711
+ if (match) return match;
712
+ if (!to) return;
713
+ if (typeof to === 'string') return to;
714
+ return to.path;
715
+ });
716
+ const classes = vue.computed(() => [{
717
+ 'v-navigation-item--opened': opened.value
718
+ }]);
719
+ const route = vueRouter.useRoute(); // const classes = computed(() => [
720
+ // // {
721
+ // // 'v-navigation-item--matched': matched.value,
722
+ // // },
723
+ // ]);
724
+
725
+ vue.watch(() => route.path, newPath => {
726
+ const c = children.value;
727
+ const m = match.value;
728
+
729
+ if (!c || !m) {
730
+ // matched.value = false;
731
+ return;
732
+ }
733
+
734
+ if (newPath.match(m)) {
735
+ open(); // matched.value = true;
736
+ } else {
737
+ close(); // matched.value = false;
738
+ }
739
+ }, {
740
+ immediate: true
741
+ }); // const iconPayload = () => opened.value;
742
+
743
+ const _props = vue.computed(() => {
744
+ const c = children.value;
745
+ let {
746
+ endIcon
747
+ } = props;
748
+
749
+ if (c && !endIcon) {
750
+ endIcon = vui.icon('navigationExpand');
751
+
752
+ if (typeof endIcon === 'string') {
753
+ const name = endIcon;
754
+
755
+ endIcon = gen => {
756
+ return gen({
757
+ name,
758
+ rotate: opened.value ? 180 : 0
759
+ });
760
+ };
761
+ }
762
+ }
763
+
764
+ const __props = { ...props,
765
+ endIcon
766
+ };
767
+ delete __props.children; // const _activeClass = props.activeClass;
768
+ // const activeClass = `v-navigation-item--active${
769
+ // _activeClass ? ` ${_activeClass}` : ''
770
+ // }`;
771
+
772
+ return { ...__props // activeClass,
773
+ // startIcon: toRawIconProp(__props.startIcon, iconPayload),
774
+ // endIcon: toRawIconProp(__props.endIcon, iconPayload),
775
+
776
+ };
777
+ });
778
+
779
+ function open() {
780
+ opened.value = true;
781
+ }
782
+
783
+ function close() {
784
+ opened.value = false;
785
+ }
786
+
787
+ function toggle() {
788
+ return opened.value ? close() : open();
789
+ }
790
+
791
+ const onClick = ev => {
792
+ if (!to.value) {
793
+ toggle();
794
+ }
795
+
796
+ ctx.emit('click', ev);
797
+ };
798
+
799
+ const onChangeActive = isActive => {
800
+ // if (isActive) {
801
+ // // open();
802
+ // // if (typeof window !== 'undefined') {
803
+ // // // open();
804
+ // // // console.log('hoge', window);
805
+ // // setTimeout(() => {
806
+ // // open();
807
+ // // }, 1000);
808
+ // // }
809
+ // // open();
810
+ // // console.log(props);
811
+ // // setTimeout(() => {
812
+ // // open();
813
+ // // }, 500);
814
+ // }
815
+ ctx.emit('changeActive', isActive);
816
+ };
576
817
 
577
818
  return () => {
578
819
  let _slot;
579
820
 
580
- return vue.createVNode(VListTile, vue.mergeProps(_props.value, {
581
- "class": "v-navigation-item"
821
+ const _children = children.value;
822
+ const fallbackTag = _children ? 'button' : undefined;
823
+ return vue.createVNode(vue.Fragment, null, [vue.createVNode(VListTile, vue.mergeProps(_props.value, {
824
+ "fallbackTag": fallbackTag,
825
+ "endIcon": _props.value.endIcon,
826
+ "class": ['v-navigation-item', classes.value],
827
+ "onClick": onClick,
828
+ "onChangeActive": onChangeActive
582
829
  }), _isSlot$6(_slot = vueUtils.renderSlotOrEmpty(ctx.slots, 'default')) ? _slot : {
583
830
  default: () => [_slot]
584
- });
831
+ }), _children && vue.createVNode(vueUtils.VExpandTransition, null, {
832
+ default: () => [vue.withDirectives(vue.createVNode("div", {
833
+ "class": "v-navigation-item__expand"
834
+ }, [_children.map(child => renderNavigationItemInput(child, {
835
+ startIconEmptySpace: _props.value.startIconEmptySpace // onClick,
836
+ // onChangeActive,
837
+
838
+ }))]), [[vue.vShow, opened.value]])]
839
+ })]);
585
840
  };
586
841
  }
587
842
 
588
843
  });
589
844
 
590
- function _isSlot$5(s) {
591
- return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
592
- }
593
-
594
845
  const VNavigation = vue.defineComponent({
595
846
  name: 'VNavigation',
596
847
  props: {
597
848
  items: {
598
849
  type: Array,
599
850
  required: true
600
- }
851
+ },
852
+ color: String,
853
+ startIconEmptySpace: {
854
+ type: Boolean,
855
+ default: true
856
+ },
857
+ caption: [String, Function]
601
858
  },
602
859
 
603
860
  setup(props, ctx) {
604
861
  const items = vue.computed(() => props.items);
605
- const $items = vue.computed(() => items.value.map(item => {
606
- let label = item.label;
607
- const _props = { ...item
608
- };
609
-
610
- if (typeof label === 'function') {
611
- label = label();
612
- }
613
-
614
- delete _props.label;
615
- return {
616
- label,
617
- props: _props
618
- };
619
- }));
862
+ const color = vueColorScheme.useScopeColorClass(props);
863
+ const classes = vue.computed(() => [color.value.className]);
864
+ const startIconEmptySpace = vue.computed(() => props.startIconEmptySpace);
865
+ const caption = vue.computed(() => {
866
+ const c = props.caption;
867
+ return typeof c === 'function' ? c() : c;
868
+ });
620
869
  return () => {
870
+ const $caption = caption.value;
621
871
  return vue.createVNode("nav", {
622
- "class": "v-navigation"
623
- }, [$items.value.map(({
624
- label,
625
- props
626
- }) => vue.createVNode(VNavigationItem, vue.mergeProps(props, {
627
- "class": "v-navigation__item"
628
- }), _isSlot$5(label) ? label : {
629
- default: () => [label]
872
+ "class": ['v-navigation', classes.value]
873
+ }, [!!$caption && vue.createVNode("div", {
874
+ "class": "v-navigation__caption"
875
+ }, [$caption]), items.value.map(item => renderNavigationItemInput(item, {
876
+ class: 'v-navigation__item',
877
+ startIconEmptySpace: startIconEmptySpace.value
630
878
  }))]);
631
879
  };
632
880
  }
@@ -726,7 +974,7 @@ const VCheckbox = vue.defineComponent({
726
974
 
727
975
  });
728
976
 
729
- function _isSlot$4(s) {
977
+ function _isSlot$5(s) {
730
978
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
731
979
  }
732
980
 
@@ -738,7 +986,7 @@ const VCheckboxGroup = defineFormSelectorComponent({
738
986
  itemRenderer: ({
739
987
  attrs,
740
988
  slots
741
- }) => vue.createVNode(VCheckbox, attrs, _isSlot$4(slots) ? slots : {
989
+ }) => vue.createVNode(VCheckbox, attrs, _isSlot$5(slots) ? slots : {
742
990
  default: () => [slots]
743
991
  })
744
992
  });
@@ -790,7 +1038,7 @@ const VRadio = vue.defineComponent({
790
1038
 
791
1039
  });
792
1040
 
793
- function _isSlot$3(s) {
1041
+ function _isSlot$4(s) {
794
1042
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
795
1043
  }
796
1044
 
@@ -801,7 +1049,7 @@ const VRadioGroup = defineFormSelectorComponent({
801
1049
  itemRenderer: ({
802
1050
  attrs,
803
1051
  slots
804
- }) => vue.createVNode(VRadio, attrs, _isSlot$3(slots) ? slots : {
1052
+ }) => vue.createVNode(VRadio, attrs, _isSlot$4(slots) ? slots : {
805
1053
  default: () => [slots]
806
1054
  })
807
1055
  });
@@ -863,7 +1111,7 @@ const VSwitch = vue.defineComponent({
863
1111
 
864
1112
  });
865
1113
 
866
- function _isSlot$2(s) {
1114
+ function _isSlot$3(s) {
867
1115
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
868
1116
  }
869
1117
 
@@ -875,7 +1123,7 @@ const VSwitchGroup = defineFormSelectorComponent({
875
1123
  itemRenderer: ({
876
1124
  attrs,
877
1125
  slots
878
- }) => vue.createVNode(VSwitch, attrs, _isSlot$2(slots) ? slots : {
1126
+ }) => vue.createVNode(VSwitch, attrs, _isSlot$3(slots) ? slots : {
879
1127
  default: () => [slots]
880
1128
  })
881
1129
  });
@@ -1418,7 +1666,7 @@ const VForm = vue.defineComponent({
1418
1666
 
1419
1667
  });
1420
1668
 
1421
- function _isSlot$1(s) {
1669
+ function _isSlot$2(s) {
1422
1670
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
1423
1671
  }
1424
1672
 
@@ -1430,7 +1678,7 @@ const VApp = vue.defineComponent({
1430
1678
  return () => {
1431
1679
  let _slot;
1432
1680
 
1433
- return vue.createVNode(vueKit.VStackRoot, null, _isSlot$1(_slot = vueKit.renderSlotOrEmpty(ctx.slots, 'default')) ? _slot : {
1681
+ return vue.createVNode(vueKit.VStackRoot, null, _isSlot$2(_slot = vueKit.renderSlotOrEmpty(ctx.slots, 'default')) ? _slot : {
1434
1682
  default: () => [_slot]
1435
1683
  });
1436
1684
  };
@@ -1470,8 +1718,35 @@ const VToolbar = vue.defineComponent({
1470
1718
 
1471
1719
  });
1472
1720
 
1721
+ function _isSlot$1(s) {
1722
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
1723
+ }
1724
+
1473
1725
  const VToolbarMenu = vue.defineComponent({
1474
1726
  name: 'VToolbarMenu',
1727
+ inheritAttrs: false,
1728
+ props: {},
1729
+
1730
+ setup(props, ctx) {
1731
+ const vui = useVui();
1732
+ const plain = vui.setting('plainVariant');
1733
+ return () => {
1734
+ let _slot;
1735
+
1736
+ const variant = props.variant || plain;
1737
+ return vue.createVNode(VButton, vue.mergeProps(ctx.attrs, {
1738
+ "variant": variant,
1739
+ "class": ['v-toolbar-menu']
1740
+ }), _isSlot$1(_slot = vueUtils.renderSlotOrEmpty(ctx.slots)) ? _slot : {
1741
+ default: () => [_slot]
1742
+ });
1743
+ };
1744
+ }
1745
+
1746
+ });
1747
+
1748
+ const VToolbarEdge = vue.defineComponent({
1749
+ name: 'VToolbarEdge',
1475
1750
  props: {
1476
1751
  edge: {
1477
1752
  type: String,
@@ -1485,8 +1760,8 @@ const VToolbarMenu = vue.defineComponent({
1485
1760
  const children = vueUtils.renderSlotOrEmpty(ctx.slots, 'default');
1486
1761
  const hasChildren = !!children && children.length > 0;
1487
1762
  return vue.createVNode("div", {
1488
- "class": ['v-toolbar-menu', `v-toolbar-menu--${edge.value}`, {
1489
- [`v-toolbar-menu--empty`]: !hasChildren
1763
+ "class": ['v-toolbar-edge', `v-toolbar-edge--${edge.value}`, {
1764
+ [`v-toolbar-edge--empty`]: !hasChildren
1490
1765
  }]
1491
1766
  }, [children]);
1492
1767
  };
@@ -1622,7 +1897,6 @@ exports.VSnackbar = vueKit.VSnackbar;
1622
1897
  exports.ICON_NAMES = iconFont.ICON_NAMES;
1623
1898
  exports.CONTROL_FIELD_VARIANTS = CONTROL_FIELD_VARIANTS;
1624
1899
  exports.CONTROL_SIZES = CONTROL_SIZES;
1625
- exports.VAccordion = VAccordion;
1626
1900
  exports.VApp = VApp;
1627
1901
  exports.VButton = VButton;
1628
1902
  exports.VCard = VCard;
@@ -1630,6 +1904,7 @@ exports.VCardActions = VCardActions;
1630
1904
  exports.VCardContent = VCardContent;
1631
1905
  exports.VCheckbox = VCheckbox;
1632
1906
  exports.VCheckboxGroup = VCheckboxGroup;
1907
+ exports.VDrawerLayout = VDrawerLayout;
1633
1908
  exports.VForm = VForm;
1634
1909
  exports.VIcon = VIcon;
1635
1910
  exports.VListTile = VListTile;
@@ -1646,6 +1921,7 @@ exports.VSwitchGroup = VSwitchGroup;
1646
1921
  exports.VTextField = VTextField;
1647
1922
  exports.VTextarea = VTextarea;
1648
1923
  exports.VToolbar = VToolbar;
1924
+ exports.VToolbarEdge = VToolbarEdge;
1649
1925
  exports.VToolbarMenu = VToolbarMenu;
1650
1926
  exports.VToolbarTitle = VToolbarTitle;
1651
1927
  exports.VUI_CHECKBOX_GROUP_SYMBOL = VUI_CHECKBOX_GROUP_SYMBOL;
@@ -1671,12 +1947,15 @@ exports.createControlProps = createControlProps;
1671
1947
  exports.createElevationProps = createElevationProps;
1672
1948
  exports.createListTileProps = createListTileProps;
1673
1949
  exports.createNavigationItemProps = createNavigationItemProps;
1950
+ exports.createPaperBaseProps = createPaperBaseProps;
1674
1951
  exports.createPaperProps = createPaperProps;
1675
1952
  exports.defineFormSelectorComponent = defineFormSelectorComponent;
1676
1953
  exports.iconProps = iconProps;
1677
1954
  exports.installVuiPlugin = installVuiPlugin;
1678
1955
  exports.listTileEmits = listTileEmits;
1679
- exports.rawRawIconProp = rawRawIconProp;
1956
+ exports.rawIconProp = rawIconProp;
1957
+ exports.renderNavigationItemInput = renderNavigationItemInput;
1958
+ exports.resolveNavigationItemInput = resolveNavigationItemInput;
1680
1959
  exports.resolveRawIconProp = resolveRawIconProp;
1681
1960
  exports.useControl = useControl;
1682
1961
  exports.useControlField = useControlField;