@fastkit/vui 0.6.16 → 0.6.20

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.
@@ -25,6 +25,7 @@ const TEMPLATE = `
25
25
  <% if (!it.__dev) { %>
26
26
  import '@fastkit/vue-stack/dist/vue-stack.css';
27
27
  import '@fastkit/vue-app-layout/dist/vue-app-layout.css';
28
+ import '@fastkit/vue-loading/dist/vue-loading.css';
28
29
  import '@fastkit/vui/dist/vui.css';
29
30
  <% } %>
30
31
  import './setup.scss';
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../../../../../../../packages/vui/src/tool/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAK9B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAkF/C,MAAM,WAAW,oBACf,SAAQ,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,CAAC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAGD,MAAM,WAAW,2BACf,SAAQ,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,OAAO,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CAuIrB"}
1
+ {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../../../../../../../packages/vui/src/tool/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAK9B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAmF/C,MAAM,WAAW,oBACf,SAAQ,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,CAAC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAGD,MAAM,WAAW,2BACf,SAAQ,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,OAAO,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CAuIrB"}
package/dist/vui.cjs.js CHANGED
@@ -8,7 +8,9 @@ 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 helpers = require('@fastkit/helpers');
11
12
  var vueRouter = require('vue-router');
13
+ var vueAppLayout = require('@fastkit/vue-app-layout');
12
14
 
13
15
  const CONTROL_SIZES = ['sm', 'md', 'lg'];
14
16
  const CONTROL_FIELD_VARIANTS = ['outlined', 'filled', 'flat'];
@@ -531,6 +533,296 @@ const VButton = vue.defineComponent({
531
533
 
532
534
  });
533
535
 
536
+ function _isSlot$8(s) {
537
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
538
+ }
539
+
540
+ const PAGINATION_ALIGNS = ['left', 'center', 'right'];
541
+ function paginationProps() {
542
+ return vueUtils.createPropsOptions({
543
+ /**
544
+ * Active Pages
545
+ */
546
+ modelValue: {
547
+ type: vueUtils.rawNumberPropType,
548
+ default: 1
549
+ },
550
+
551
+ /**
552
+ * Total number of pages
553
+ */
554
+ length: {
555
+ type: vueUtils.rawNumberPropType,
556
+ default: 0
557
+ },
558
+
559
+ /**
560
+ * Maximum number of links to display.
561
+ */
562
+ totalVisible: vueUtils.rawNumberPropType,
563
+
564
+ /**
565
+ * true when narrowing
566
+ */
567
+ dense: Boolean,
568
+ disabled: Boolean,
569
+ align: {
570
+ type: String,
571
+ default: 'center'
572
+ },
573
+
574
+ /**
575
+ * To synchronize with a query, use the query name
576
+ */
577
+ routeQuery: String,
578
+ beforeChange: Function,
579
+ color: String
580
+ });
581
+ }
582
+ const VPagination = vue.defineComponent({
583
+ name: 'VPagination',
584
+ props: paginationProps(),
585
+ emits: {
586
+ change: page => true
587
+ },
588
+
589
+ setup(props, ctx) {
590
+ const vui = useVui();
591
+ const elRef = vue.ref(null);
592
+ const router = vueRouter.useRouter();
593
+ const route = vueRouter.useRoute();
594
+ const internalValue = vue.ref(1);
595
+ const containerWidth = vue.ref(0);
596
+ const itemSize = vue.ref(0);
597
+ const capacityLength = vue.computed(() => {
598
+ const _itemSize = itemSize.value;
599
+ if (!_itemSize) return 0;
600
+ return Math.floor(containerWidth.value / _itemSize);
601
+ });
602
+ const colorScope = vueColorScheme.useScopeColorClass({
603
+ color: () => props.color || vui.setting('primaryScope')
604
+ });
605
+ const computedLength = vue.computed(() => vueUtils.resolveNumberish(props.length));
606
+ const computedTotalVisible = vue.computed(() => vueUtils.resolveNumberish(props.totalVisible));
607
+ const computedNumbersLength = vue.computed(() => capacityLength.value - 2 - 2);
608
+ const computedPage = vue.computed(() => {
609
+ const {
610
+ routeQuery
611
+ } = props;
612
+
613
+ if (routeQuery) {
614
+ return vueUtils.getRouteQuery(route.query, routeQuery, Number, 1);
615
+ }
616
+
617
+ return internalValue.value;
618
+ });
619
+
620
+ const _range = (from, to) => helpers.range(to - from, from);
621
+
622
+ const computedItems = vue.computed(() => {
623
+ const maxButtons = computedNumbersLength.value;
624
+ const totalVisible = computedTotalVisible.value;
625
+ const length = computedLength.value;
626
+ const pageValue = computedPage.value;
627
+ const maxLength = Math.min(Math.max(0, totalVisible || 0) || length, Math.max(0, maxButtons) || length, length);
628
+
629
+ if (length <= maxLength) {
630
+ return _range(1, length);
631
+ }
632
+
633
+ const even = maxLength % 2 === 0 ? 1 : 0;
634
+ const left = Math.floor(maxLength / 2);
635
+ const right = length - left + 1 + even;
636
+
637
+ if (pageValue > left && pageValue < right) {
638
+ const start = pageValue - left + 2;
639
+ const end = pageValue + left - 2 - even;
640
+ return [1, 'truncate', ..._range(start, end), 'truncate', length];
641
+ } else if (pageValue === left) {
642
+ const end = pageValue + left - 1 - even;
643
+ return [..._range(1, end), 'truncate', length];
644
+ } else if (pageValue === right) {
645
+ const start = pageValue - left + 1;
646
+ return [1, 'truncate', ..._range(start, length)];
647
+ } else {
648
+ return [..._range(1, left), 'truncate', ..._range(right, length)];
649
+ }
650
+ });
651
+ const isActive = vue.computed(() => computedLength.value > 1);
652
+ const isTransitioning = vue.computed(() => {
653
+ const {
654
+ routeQuery
655
+ } = props;
656
+ if (!routeQuery) return false; // @TODO
657
+ // return this.$location.isQueryOnlyTransitioning(routeQuery);
658
+
659
+ return false;
660
+ });
661
+ const isDisabled = vue.computed(() => props.disabled || isTransitioning.value);
662
+ const classes = vue.computed(() => [{
663
+ 'v-pagination--disabled': isDisabled.value,
664
+ 'v-pagination--dense': props.dense,
665
+ [`v-pagination--${props.align}`]: true
666
+ }, colorScope.value.className]);
667
+
668
+ async function setPage(value) {
669
+ if (isDisabled.value) return;
670
+ const {
671
+ beforeChange,
672
+ routeQuery
673
+ } = props;
674
+ const newPage = vueUtils.resolveNumberish(value);
675
+ if (computedPage.value === newPage) return;
676
+
677
+ if (beforeChange) {
678
+ try {
679
+ let result = beforeChange(newPage);
680
+ if (helpers.isPromise(result)) result = await result;
681
+ if (result === false) return;
682
+ } catch (e) {}
683
+ }
684
+
685
+ if (routeQuery) {
686
+ const to = createRoutableLocationByPage(newPage, routeQuery);
687
+ return router.push(to).then(failure => {
688
+ !failure && ctx.emit('change', newPage);
689
+ });
690
+ } else {
691
+ internalValue.value = newPage;
692
+ ctx.emit('update:modelValue', newPage);
693
+ ctx.emit('change', newPage);
694
+ }
695
+ }
696
+
697
+ function createPageInfo(source) {
698
+ const currentPage = computedPage.value;
699
+ const length = computedLength.value;
700
+ let number;
701
+ let page;
702
+ let active;
703
+ let disabled;
704
+
705
+ if (typeof source === 'number') {
706
+ number = true;
707
+ page = source;
708
+ active = currentPage === page;
709
+ disabled = false;
710
+ } else if (source === 'truncate') {
711
+ number = false;
712
+ active = false;
713
+ disabled = false;
714
+ } else {
715
+ number = false;
716
+ const isPrev = source === 'prev';
717
+ const ammount = isPrev ? -1 : 1;
718
+ page = currentPage + ammount;
719
+ active = false;
720
+ disabled = page < 1 || page > length;
721
+ }
722
+
723
+ return {
724
+ number,
725
+ page,
726
+ active,
727
+ disabled
728
+ };
729
+ }
730
+
731
+ function createRoutableLocationByPage(page, routeQuery) {
732
+ return vueUtils.getQueryMergedLocation({
733
+ [routeQuery]: page
734
+ }, route);
735
+ }
736
+
737
+ function genItem(source, index) {
738
+ const {
739
+ number,
740
+ page,
741
+ active,
742
+ disabled
743
+ } = createPageInfo(source);
744
+ const type = number ? 'num' : source; // const staticClass = `pagination__item`;
745
+
746
+ const classes = ['v-pagination__item', {
747
+ [`v-pagination__item--${type}`]: true,
748
+ 'v-pagination__item--active': active,
749
+ 'v-pagination__item--disabled': disabled
750
+ }];
751
+ const children = number ? page : (() => {
752
+ if (type === 'truncate') {
753
+ return vue.createVNode("span", null, [vue.createTextVNode("...")]);
754
+ }
755
+
756
+ const isPrev = type === 'prev';
757
+ const name = isPrev ? 'chevron-left' : 'chevron-right';
758
+ return vue.createVNode(VIcon, {
759
+ "class": "v-pagination__item__icon",
760
+ "name": name
761
+ }, null);
762
+ })();
763
+
764
+ const onClick = ev => {
765
+ ev.preventDefault();
766
+ if (page === undefined || active || disabled) return;
767
+ setPage(page);
768
+ };
769
+
770
+ const key = `${source}-${index}`;
771
+ const {
772
+ routeQuery
773
+ } = props;
774
+
775
+ if (page !== undefined && routeQuery) {
776
+ const to = createRoutableLocationByPage(page, routeQuery);
777
+ return vue.createVNode(vueRouter.RouterLink, {
778
+ "class": classes,
779
+ "to": to,
780
+ "key": key
781
+ }, _isSlot$8(children) ? children : {
782
+ default: () => [children]
783
+ });
784
+ } else {
785
+ return vue.createVNode("button", {
786
+ "class": classes,
787
+ "type": "button",
788
+ "value": page,
789
+ "onClick": onClick,
790
+ "key": key
791
+ }, [children]);
792
+ }
793
+ }
794
+
795
+ vue.watch(() => props.modelValue, modelValue => {
796
+ internalValue.value = vueUtils.resolveNumberish(modelValue);
797
+ }, {
798
+ immediate: true
799
+ });
800
+ return () => {
801
+ if (!isActive.value) return undefined;
802
+ const $items = ['prev', ...computedItems.value, 'next'].map((i, index) => genItem(i, index));
803
+ return vue.withDirectives(vue.createVNode("nav", {
804
+ "class": ['v-pagination', classes.value],
805
+ "ref": elRef
806
+ }, [$items]), [vueUtils.resizeDirectiveArgument(({
807
+ width
808
+ }) => {
809
+ const el = elRef.value;
810
+
811
+ if (el) {
812
+ const style = window.getComputedStyle(el, 'before');
813
+ const width = style.getPropertyValue('width');
814
+ const margin = style.getPropertyValue('margin');
815
+ const size = parseFloat(width) + parseFloat(margin) * 0.5;
816
+ itemSize.value = size;
817
+ }
818
+
819
+ containerWidth.value = width;
820
+ })]);
821
+ };
822
+ }
823
+
824
+ });
825
+
534
826
  function createListTileProps() {
535
827
  const icon = rawIconProp();
536
828
  return { ...vueUtils.navigationableProps,
@@ -542,7 +834,8 @@ function createListTileProps() {
542
834
  default: 'div'
543
835
  },
544
836
  startIconEmptySpace: Boolean,
545
- color: String
837
+ color: String,
838
+ exactMatch: Boolean
546
839
  })
547
840
  };
548
841
  }
@@ -573,7 +866,7 @@ const VListTile = vue.defineComponent({
573
866
  });
574
867
  const isActive = vue.computed(() => {
575
868
  if (!hasTo.value) return false;
576
- return link.isActive.value;
869
+ return props.exactMatch ? link.isExactActive.value : link.isActive.value;
577
870
  });
578
871
  const color = vueColorScheme.useScopeColorClass(props);
579
872
  const classes = vue.computed(() => {
@@ -650,7 +943,52 @@ const VDrawerLayout = vue.defineComponent({
650
943
 
651
944
  });
652
945
 
653
- function _isSlot$5(s) {
946
+ function _isSlot$7(s) {
947
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
948
+ }
949
+
950
+ const VHero = vue.defineComponent({
951
+ name: 'VHero',
952
+ props: {
953
+ color: {
954
+ type: String,
955
+ default: 'primary'
956
+ },
957
+ tag: {
958
+ type: String,
959
+ default: 'header'
960
+ },
961
+ hTag: {
962
+ type: String,
963
+ default: 'h1'
964
+ }
965
+ },
966
+
967
+ setup(props, ctx) {
968
+ return () => {
969
+ let _slot;
970
+
971
+ const TagName = props.tag;
972
+ const HTagName = props.hTag;
973
+ return vue.createVNode(vueAppLayout.VAppContainer, {
974
+ "pulled": true
975
+ }, {
976
+ default: () => [vue.createVNode(TagName, {
977
+ "class": ['v-hero', vueColorScheme.toScopeColorClass(props.color)]
978
+ }, {
979
+ default: () => [vue.createVNode(HTagName, {
980
+ "class": "v-hero__title"
981
+ }, _isSlot$7(_slot = vueUtils.renderSlotOrEmpty(ctx.slots, 'default')) ? _slot : {
982
+ default: () => [_slot]
983
+ })]
984
+ })]
985
+ });
986
+ };
987
+ }
988
+
989
+ });
990
+
991
+ function _isSlot$6(s) {
654
992
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
655
993
  }
656
994
 
@@ -681,7 +1019,7 @@ function renderNavigationItemInput(input, extraProps) {
681
1019
  } = resolveNavigationItemInput(input);
682
1020
  return vue.createVNode(VNavigationItem, { ...props,
683
1021
  ...extraProps
684
- }, _isSlot$5(label) ? label : {
1022
+ }, _isSlot$6(label) ? label : {
685
1023
  default: () => [label]
686
1024
  });
687
1025
  }
@@ -825,7 +1163,7 @@ const VNavigationItem = vue.defineComponent({
825
1163
  "class": ['v-navigation-item', classes.value],
826
1164
  "onClick": onClick,
827
1165
  "onChangeActive": onChangeActive
828
- }), _isSlot$5(_slot = vueUtils.renderSlotOrEmpty(ctx.slots, 'default')) ? _slot : {
1166
+ }), _isSlot$6(_slot = vueUtils.renderSlotOrEmpty(ctx.slots, 'default')) ? _slot : {
829
1167
  default: () => [_slot]
830
1168
  }), _children && vue.createVNode(vueUtils.VExpandTransition, null, {
831
1169
  default: () => [vue.withDirectives(vue.createVNode("div", {
@@ -973,7 +1311,7 @@ const VCheckbox = vue.defineComponent({
973
1311
 
974
1312
  });
975
1313
 
976
- function _isSlot$4(s) {
1314
+ function _isSlot$5(s) {
977
1315
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
978
1316
  }
979
1317
 
@@ -985,7 +1323,7 @@ const VCheckboxGroup = defineFormSelectorComponent({
985
1323
  itemRenderer: ({
986
1324
  attrs,
987
1325
  slots
988
- }) => vue.createVNode(VCheckbox, attrs, _isSlot$4(slots) ? slots : {
1326
+ }) => vue.createVNode(VCheckbox, attrs, _isSlot$5(slots) ? slots : {
989
1327
  default: () => [slots]
990
1328
  })
991
1329
  });
@@ -1037,7 +1375,7 @@ const VRadio = vue.defineComponent({
1037
1375
 
1038
1376
  });
1039
1377
 
1040
- function _isSlot$3(s) {
1378
+ function _isSlot$4(s) {
1041
1379
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
1042
1380
  }
1043
1381
 
@@ -1048,7 +1386,7 @@ const VRadioGroup = defineFormSelectorComponent({
1048
1386
  itemRenderer: ({
1049
1387
  attrs,
1050
1388
  slots
1051
- }) => vue.createVNode(VRadio, attrs, _isSlot$3(slots) ? slots : {
1389
+ }) => vue.createVNode(VRadio, attrs, _isSlot$4(slots) ? slots : {
1052
1390
  default: () => [slots]
1053
1391
  })
1054
1392
  });
@@ -1110,7 +1448,7 @@ const VSwitch = vue.defineComponent({
1110
1448
 
1111
1449
  });
1112
1450
 
1113
- function _isSlot$2(s) {
1451
+ function _isSlot$3(s) {
1114
1452
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
1115
1453
  }
1116
1454
 
@@ -1122,7 +1460,7 @@ const VSwitchGroup = defineFormSelectorComponent({
1122
1460
  itemRenderer: ({
1123
1461
  attrs,
1124
1462
  slots
1125
- }) => vue.createVNode(VSwitch, attrs, _isSlot$2(slots) ? slots : {
1463
+ }) => vue.createVNode(VSwitch, attrs, _isSlot$3(slots) ? slots : {
1126
1464
  default: () => [slots]
1127
1465
  })
1128
1466
  });
@@ -1665,7 +2003,7 @@ const VForm = vue.defineComponent({
1665
2003
 
1666
2004
  });
1667
2005
 
1668
- function _isSlot$1(s) {
2006
+ function _isSlot$2(s) {
1669
2007
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
1670
2008
  }
1671
2009
 
@@ -1677,7 +2015,7 @@ const VApp = vue.defineComponent({
1677
2015
  return () => {
1678
2016
  let _slot;
1679
2017
 
1680
- return vue.createVNode(vueKit.VStackRoot, null, _isSlot$1(_slot = vueKit.renderSlotOrEmpty(ctx.slots, 'default')) ? _slot : {
2018
+ return vue.createVNode(vueKit.VStackRoot, null, _isSlot$2(_slot = vueKit.renderSlotOrEmpty(ctx.slots, 'default')) ? _slot : {
1681
2019
  default: () => [_slot]
1682
2020
  });
1683
2021
  };
@@ -1717,8 +2055,35 @@ const VToolbar = vue.defineComponent({
1717
2055
 
1718
2056
  });
1719
2057
 
2058
+ function _isSlot$1(s) {
2059
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
2060
+ }
2061
+
1720
2062
  const VToolbarMenu = vue.defineComponent({
1721
2063
  name: 'VToolbarMenu',
2064
+ inheritAttrs: false,
2065
+ props: {},
2066
+
2067
+ setup(props, ctx) {
2068
+ const vui = useVui();
2069
+ const plain = vui.setting('plainVariant');
2070
+ return () => {
2071
+ let _slot;
2072
+
2073
+ const variant = props.variant || plain;
2074
+ return vue.createVNode(VButton, vue.mergeProps(ctx.attrs, {
2075
+ "variant": variant,
2076
+ "class": ['v-toolbar-menu']
2077
+ }), _isSlot$1(_slot = vueUtils.renderSlotOrEmpty(ctx.slots)) ? _slot : {
2078
+ default: () => [_slot]
2079
+ });
2080
+ };
2081
+ }
2082
+
2083
+ });
2084
+
2085
+ const VToolbarEdge = vue.defineComponent({
2086
+ name: 'VToolbarEdge',
1722
2087
  props: {
1723
2088
  edge: {
1724
2089
  type: String,
@@ -1732,8 +2097,8 @@ const VToolbarMenu = vue.defineComponent({
1732
2097
  const children = vueUtils.renderSlotOrEmpty(ctx.slots, 'default');
1733
2098
  const hasChildren = !!children && children.length > 0;
1734
2099
  return vue.createVNode("div", {
1735
- "class": ['v-toolbar-menu', `v-toolbar-menu--${edge.value}`, {
1736
- [`v-toolbar-menu--empty`]: !hasChildren
2100
+ "class": ['v-toolbar-edge', `v-toolbar-edge--${edge.value}`, {
2101
+ [`v-toolbar-edge--empty`]: !hasChildren
1737
2102
  }]
1738
2103
  }, [children]);
1739
2104
  };
@@ -1869,6 +2234,7 @@ exports.VSnackbar = vueKit.VSnackbar;
1869
2234
  exports.ICON_NAMES = iconFont.ICON_NAMES;
1870
2235
  exports.CONTROL_FIELD_VARIANTS = CONTROL_FIELD_VARIANTS;
1871
2236
  exports.CONTROL_SIZES = CONTROL_SIZES;
2237
+ exports.PAGINATION_ALIGNS = PAGINATION_ALIGNS;
1872
2238
  exports.VApp = VApp;
1873
2239
  exports.VButton = VButton;
1874
2240
  exports.VCard = VCard;
@@ -1878,12 +2244,14 @@ exports.VCheckbox = VCheckbox;
1878
2244
  exports.VCheckboxGroup = VCheckboxGroup;
1879
2245
  exports.VDrawerLayout = VDrawerLayout;
1880
2246
  exports.VForm = VForm;
2247
+ exports.VHero = VHero;
1881
2248
  exports.VIcon = VIcon;
1882
2249
  exports.VListTile = VListTile;
1883
2250
  exports.VNavigation = VNavigation;
1884
2251
  exports.VNavigationItem = VNavigationItem;
1885
2252
  exports.VOption = VOption;
1886
2253
  exports.VOptionGroup = VOptionGroup;
2254
+ exports.VPagination = VPagination;
1887
2255
  exports.VPaper = VPaper;
1888
2256
  exports.VRadio = VRadio;
1889
2257
  exports.VRadioGroup = VRadioGroup;
@@ -1893,6 +2261,7 @@ exports.VSwitchGroup = VSwitchGroup;
1893
2261
  exports.VTextField = VTextField;
1894
2262
  exports.VTextarea = VTextarea;
1895
2263
  exports.VToolbar = VToolbar;
2264
+ exports.VToolbarEdge = VToolbarEdge;
1896
2265
  exports.VToolbarMenu = VToolbarMenu;
1897
2266
  exports.VToolbarTitle = VToolbarTitle;
1898
2267
  exports.VUI_CHECKBOX_GROUP_SYMBOL = VUI_CHECKBOX_GROUP_SYMBOL;
@@ -1924,6 +2293,7 @@ exports.defineFormSelectorComponent = defineFormSelectorComponent;
1924
2293
  exports.iconProps = iconProps;
1925
2294
  exports.installVuiPlugin = installVuiPlugin;
1926
2295
  exports.listTileEmits = listTileEmits;
2296
+ exports.paginationProps = paginationProps;
1927
2297
  exports.rawIconProp = rawIconProp;
1928
2298
  exports.renderNavigationItemInput = renderNavigationItemInput;
1929
2299
  exports.resolveNavigationItemInput = resolveNavigationItemInput;