@fastkit/vui 0.8.18 → 0.10.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.
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var vueKit = require('@fastkit/vue-kit');
6
4
  var vue = require('vue');
7
5
  var vueRouter = require('vue-router');
@@ -14,7 +12,7 @@ var iconFont = require('@fastkit/icon-font');
14
12
  var vueAppLayout = require('@fastkit/vue-app-layout');
15
13
  var vueFormControl = require('@fastkit/vue-form-control');
16
14
  var vue3 = require('@tiptap/vue-3');
17
- var StarterKit = require('@tiptap/starter-kit');
15
+ var starterKit = require('@tiptap/starter-kit');
18
16
  var core = require('@tiptap/core');
19
17
  var prosemirrorView = require('prosemirror-view');
20
18
  var prosemirrorState = require('prosemirror-state');
@@ -28,11 +26,6 @@ var rules = require('@fastkit/rules');
28
26
  var extensionOrderedList = require('@tiptap/extension-ordered-list');
29
27
  var TextStyle = require('@tiptap/extension-text-style');
30
28
 
31
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
32
-
33
- var StarterKit__default = /*#__PURE__*/_interopDefaultLegacy(StarterKit);
34
- var TextStyle__default = /*#__PURE__*/_interopDefaultLegacy(TextStyle);
35
-
36
29
  const CONTROL_SIZES = ['sm', 'md', 'lg'];
37
30
  const CONTROL_FIELD_VARIANTS = ['outlined', 'filled', 'flat'];
38
31
  const CONTROL_LOADING_SPINNER_SIZES = {
@@ -150,6 +143,7 @@ function useControlField(props, opts = {}) {
150
143
  return provider;
151
144
  }
152
145
 
146
+ // export function toRawIconProp<T = void>(
153
147
  // prop: RawIconProp<T>,
154
148
  // payload: () => T,
155
149
  // ): RawIconProp {
@@ -163,7 +157,6 @@ function useControlField(props, opts = {}) {
163
157
  // return fn;
164
158
  // }
165
159
  // export const rawRawIconProp = [String, Function] as PropType<RawIconProp>;
166
-
167
160
  const _rawIconProp = [String, Function];
168
161
  function rawIconProp() {
169
162
  return _rawIconProp;
@@ -183,12 +176,12 @@ const iconProps = vueUtils.createPropsOptions({
183
176
  type: Number
184
177
  }
185
178
  });
186
- const VIcon = vue.defineComponent({
179
+ const VIcon = /* @__PURE__ */ vue.defineComponent({
187
180
  name: 'VIcon',
188
- props: { ...iconProps
181
+ props: {
182
+ ...iconProps
189
183
  },
190
184
  emits: {},
191
-
192
185
  setup(props, ctx) {
193
186
  const iconName = vue.computed(() => props.name);
194
187
  const clickable = vue.computed(() => typeof ctx.attrs.onClick !== 'undefined');
@@ -212,7 +205,6 @@ const VIcon = vue.defineComponent({
212
205
  "style": bodyStyles.value
213
206
  }, null)]);
214
207
  }
215
-
216
208
  });
217
209
 
218
210
  const {
@@ -227,7 +219,6 @@ function createRequiredChipRenderer(required, props, vui = useVui()) {
227
219
  requiredChip
228
220
  } = props;
229
221
  if (requiredChip === false) return;
230
-
231
222
  if (requiredChip) {
232
223
  if (typeof requiredChip === 'string') {
233
224
  chip = requiredChip;
@@ -235,22 +226,20 @@ function createRequiredChipRenderer(required, props, vui = useVui()) {
235
226
  chip = requiredChip();
236
227
  }
237
228
  }
238
-
239
229
  if (chip === undefined) {
240
230
  chip = vui.getRequiredChip();
241
231
  }
242
-
243
232
  return chip;
244
233
  };
245
234
  }
246
- const VFormControl = vue.defineComponent({
235
+ const VFormControl = /* @__PURE__ */ vue.defineComponent({
247
236
  name: 'VFormControl',
248
- props: { ...props$8,
237
+ props: {
238
+ ...props$8,
249
239
  ...vueKit.defineSlotsProps(),
250
240
  error: Boolean
251
241
  },
252
242
  emits: emits$8,
253
-
254
243
  setup(props, ctx) {
255
244
  const vui = useVui();
256
245
  const control = vueKit.useFormControl(props, ctx, {
@@ -263,15 +252,12 @@ const VFormControl = vue.defineComponent({
263
252
  let {
264
253
  hinttipDelay
265
254
  } = control;
266
-
267
255
  if (hinttipDelay == null) {
268
256
  hinttipDelay = vui.setting('hinttipDelay');
269
257
  }
270
-
271
258
  if (hinttipDelay == null) {
272
259
  hinttipDelay = 500;
273
260
  }
274
-
275
261
  return hinttipDelay;
276
262
  });
277
263
  ctx.expose(control.expose());
@@ -326,7 +312,6 @@ const VFormControl = vue.defineComponent({
326
312
  }, [appends])])])]);
327
313
  };
328
314
  }
329
-
330
315
  });
331
316
 
332
317
  function defineFormSelectorComponent(opts) {
@@ -342,97 +327,100 @@ function defineFormSelectorComponent(opts) {
342
327
  } = vueKit.createFormSelectorSettings({
343
328
  defaultMultiple
344
329
  });
345
- return vue.defineComponent({
346
- name: opts.name,
347
- props: { ...props,
348
- ...vueKit.createFormControlProps(),
349
- ...createControlProps(),
350
- stacked: {
351
- type: Boolean,
352
- default: true
330
+ return (/* @__PURE__ */ vue.defineComponent({
331
+ name: opts.name,
332
+ props: {
333
+ ...props,
334
+ ...vueKit.createFormControlProps(),
335
+ ...createControlProps(),
336
+ stacked: {
337
+ type: Boolean,
338
+ default: true
339
+ },
340
+ // eslint-disable-next-line vue/require-prop-types
341
+ loadingMessage: {},
342
+ // eslint-disable-next-line vue/require-prop-types
343
+ failedToLoadItemsMessage: {},
344
+ ...vueKit.defineSlotsProps()
353
345
  },
354
- // eslint-disable-next-line vue/require-prop-types
355
- loadingMessage: {},
356
- // eslint-disable-next-line vue/require-prop-types
357
- failedToLoadItemsMessage: {},
358
- ...vueKit.defineSlotsProps()
359
- },
360
- emits,
361
-
362
- setup(props, ctx) {
363
- const selectorControl = vueKit.useFormSelectorControl(props, ctx, {
364
- nodeType,
365
- defaultMultiple
366
- });
367
- const control = useControl(props);
368
- const vui = useVui();
369
- const loadingMessageRef = vue.computed(() => {
370
- const slot = vueKit.resolveVNodeChildOrSlots(props.loadingMessage, vui.setting('loadingMessage'), 'Loading...');
371
- return slot && slot(vui);
372
- });
373
- const failedToLoadItemsMessageRef = vue.computed(() => {
374
- const slot = vueKit.resolveVNodeChildOrSlots(props.failedToLoadItemsMessage, vui.setting('failedToLoadDataMessage'), 'Failed to load data.');
375
- return slot && slot(vui);
376
- });
377
- return { ...selectorControl.expose(),
378
- ...control,
379
- loadingMessageRef,
380
- failedToLoadItemsMessageRef
381
- };
382
- },
383
-
384
- render() {
385
- const {
386
- selectorControl
387
- } = this;
388
- return vue.createVNode(VFormControl, {
389
- "nodeControl": this.nodeControl,
390
- "focused": this.nodeControl.focused,
391
- "hiddenInfo": this.hiddenInfo,
392
- "class": ['v-form-selector', className, { ...this.classes,
393
- 'v-form-selector--stacked': this.stacked
394
- }],
395
- "label": this.label,
396
- "hint": this.hint,
397
- "hinttip": this.hinttip,
398
- "requiredChip": this.requiredChip,
399
- "error": selectorControl.itemsLoadFailed
400
- }, { ...this.$slots,
401
- default: () => vue.createVNode("div", {
402
- "class": "v-form-selector__body"
403
- }, [selectorControl.itemsLoadFailed && vue.createVNode("div", {
404
- "key": "failed",
405
- "class": "v-form-selector__placeholder v-form-selector__placeholder--error"
406
- }, [this.failedToLoadItemsMessageRef]), selectorControl.itemsLoading && vue.createVNode("div", {
407
- "key": "loading",
408
- "class": "v-form-selector__placeholder"
409
- }, [vue.createVNode(vueLoading.VProgressCircular, {
410
- "indeterminate": true,
411
- "class": "mr-1",
412
- "size": CONTROL_LOADING_SPINNER_SIZES[this.size || 'md']
413
- }, null), this.loadingMessageRef]), this.propGroups.map(group => {
414
- const {
415
- items
416
- } = group;
417
- return vue.createVNode(vue.Fragment, null, [items.map(attrs => {
418
- const selected = selectorControl.isSelected(attrs.value);
419
- return itemRenderer({
420
- selected,
421
- control: selectorControl,
422
- attrs: { ...attrs,
423
- modelValue: selected,
424
- key: attrs.value
425
- },
426
- slots: {
427
- default: () => attrs.label(this.selectorControl)
428
- }
429
- });
430
- })]);
431
- }), vueKit.renderSlotOrEmpty(this.$slots, 'default')])
432
- });
433
- }
434
-
435
- });
346
+ emits,
347
+ setup(props, ctx) {
348
+ const selectorControl = vueKit.useFormSelectorControl(props, ctx, {
349
+ nodeType,
350
+ defaultMultiple
351
+ });
352
+ const control = useControl(props);
353
+ const vui = useVui();
354
+ const loadingMessageRef = vue.computed(() => {
355
+ const slot = vueKit.resolveVNodeChildOrSlots(props.loadingMessage, vui.setting('loadingMessage'), 'Loading...');
356
+ return slot && slot(vui);
357
+ });
358
+ const failedToLoadItemsMessageRef = vue.computed(() => {
359
+ const slot = vueKit.resolveVNodeChildOrSlots(props.failedToLoadItemsMessage, vui.setting('failedToLoadDataMessage'), 'Failed to load data.');
360
+ return slot && slot(vui);
361
+ });
362
+ return {
363
+ ...selectorControl.expose(),
364
+ ...control,
365
+ loadingMessageRef,
366
+ failedToLoadItemsMessageRef
367
+ };
368
+ },
369
+ render() {
370
+ const {
371
+ selectorControl
372
+ } = this;
373
+ return vue.createVNode(VFormControl, {
374
+ "nodeControl": this.nodeControl,
375
+ "focused": this.nodeControl.focused,
376
+ "hiddenInfo": this.hiddenInfo,
377
+ "class": ['v-form-selector', className, {
378
+ ...this.classes,
379
+ 'v-form-selector--stacked': this.stacked
380
+ }],
381
+ "label": this.label,
382
+ "hint": this.hint,
383
+ "hinttip": this.hinttip,
384
+ "requiredChip": this.requiredChip,
385
+ "error": selectorControl.itemsLoadFailed
386
+ }, {
387
+ ...this.$slots,
388
+ default: () => vue.createVNode("div", {
389
+ "class": "v-form-selector__body"
390
+ }, [selectorControl.itemsLoadFailed && vue.createVNode("div", {
391
+ "key": "failed",
392
+ "class": "v-form-selector__placeholder v-form-selector__placeholder--error"
393
+ }, [this.failedToLoadItemsMessageRef]), selectorControl.itemsLoading && vue.createVNode("div", {
394
+ "key": "loading",
395
+ "class": "v-form-selector__placeholder"
396
+ }, [vue.createVNode(vueLoading.VProgressCircular, {
397
+ "indeterminate": true,
398
+ "class": "mr-1",
399
+ "size": CONTROL_LOADING_SPINNER_SIZES[this.size || 'md']
400
+ }, null), this.loadingMessageRef]), this.propGroups.map(group => {
401
+ const {
402
+ items
403
+ } = group;
404
+ return vue.createVNode(vue.Fragment, null, [items.map(attrs => {
405
+ const selected = selectorControl.isSelected(attrs.value);
406
+ return itemRenderer({
407
+ selected,
408
+ control: selectorControl,
409
+ attrs: {
410
+ ...attrs,
411
+ modelValue: selected,
412
+ key: attrs.value
413
+ },
414
+ slots: {
415
+ default: () => attrs.label(this.selectorControl)
416
+ }
417
+ });
418
+ })]);
419
+ }), vueKit.renderSlotOrEmpty(this.$slots, 'default')])
420
+ });
421
+ }
422
+ })
423
+ );
436
424
  }
437
425
 
438
426
  function createElevationProps() {
@@ -455,8 +443,7 @@ function useElevation(props, opts = {}) {
455
443
  function _isSlot$f(s) {
456
444
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
457
445
  }
458
-
459
- const VSkeltonLoaderBone = vue.defineComponent({
446
+ const VSkeltonLoaderBone = /* @__PURE__ */ vue.defineComponent({
460
447
  name: 'VSkeltonLoaderBone',
461
448
  inheritAttrs: false,
462
449
  props: {
@@ -465,11 +452,9 @@ const VSkeltonLoaderBone = vue.defineComponent({
465
452
  default: 'div'
466
453
  }
467
454
  },
468
-
469
455
  setup(props, ctx) {
470
456
  return () => {
471
457
  let _slot;
472
-
473
458
  const TagName = props.tag;
474
459
  return vue.createVNode(TagName, vue.mergeProps(ctx.attrs, {
475
460
  "class": "v-skelton-loader-bone"
@@ -478,23 +463,20 @@ const VSkeltonLoaderBone = vue.defineComponent({
478
463
  });
479
464
  };
480
465
  }
481
-
482
466
  });
483
467
 
484
468
  const IMAGE_ATTRS = ['alt', 'crossorigin', 'decoding', 'sizes', 'src', 'srcset', 'usemap'];
485
469
  function splitAttrs(attrs) {
486
- const el = { ...attrs
470
+ const el = {
471
+ ...attrs
487
472
  };
488
473
  const img = {};
489
-
490
474
  for (const ATTR of IMAGE_ATTRS) {
491
475
  const value = attrs[ATTR];
492
-
493
476
  if (value != null) {
494
477
  img[ATTR] = value;
495
478
  }
496
479
  }
497
-
498
480
  return {
499
481
  el,
500
482
  img
@@ -502,7 +484,6 @@ function splitAttrs(attrs) {
502
484
  }
503
485
  const NUMBERISH_PROP = [Number, String];
504
486
  const DEFAULT_HEIGHT = 150;
505
-
506
487
  const resolveBusyImageSizeValue = source => {
507
488
  if (source == null) return;
508
489
  return isNaN(source) ? String(source) : `${source}px`;
@@ -511,11 +492,10 @@ const resolveBusyImageSizeValue = source => {
511
492
  * 画像表示用コンポーネント
512
493
  * <img /> タグのように振る舞うが、ローディング表示や、表示サイズの調整など、ちょっといい感じにやるためのコンポーネント
513
494
  */
514
-
515
-
516
- const VBusyImage = vue.defineComponent({
495
+ const VBusyImage = /* @__PURE__ */ vue.defineComponent({
517
496
  name: 'VBusyImage',
518
- props: { ...undefined,
497
+ props: {
498
+ ...undefined,
519
499
  aspectRatio: String,
520
500
  width: NUMBERISH_PROP,
521
501
  height: NUMBERISH_PROP,
@@ -526,9 +506,8 @@ const VBusyImage = vue.defineComponent({
526
506
  load: ev => true,
527
507
  error: ev => true
528
508
  },
529
-
530
509
  setup(props, ctx) {
531
- const loadStateRef = vue.ref(props.cover && isAvairableSrc(ctx.attrs.src) ? 'loading' : 'pending');
510
+ const loadStateRef = vue.ref(props.cover && isAvailableSrc(ctx.attrs.src) ? 'loading' : 'pending');
532
511
  const attrsRef = vue.computed(() => splitAttrs(ctx.attrs));
533
512
  const isPendingRef = vue.computed(() => loadStateRef.value === 'pending');
534
513
  const isLoadingRef = vue.computed(() => loadStateRef.value === 'loading');
@@ -550,30 +529,24 @@ const VBusyImage = vue.defineComponent({
550
529
  width,
551
530
  height
552
531
  } = props;
553
-
554
532
  if (height == null && cover) {
555
533
  height = DEFAULT_HEIGHT;
556
534
  }
557
-
558
535
  if (width == null && cover) {
559
536
  width = height;
560
537
  }
561
-
562
538
  width = resolveBusyImageSizeValue(width);
563
539
  height = resolveBusyImageSizeValue(height);
564
540
  main.width = width;
565
541
  main.height = height;
566
542
  placeholder.width = width;
567
543
  placeholder.height = height;
568
-
569
544
  if (placeholder.height == null) {
570
545
  placeholder.height = resolveBusyImageSizeValue(DEFAULT_HEIGHT);
571
546
  }
572
-
573
547
  if (placeholder.width == null) {
574
548
  placeholder.width = placeholder.height;
575
549
  }
576
-
577
550
  return {
578
551
  placeholder,
579
552
  main
@@ -585,22 +558,19 @@ const VBusyImage = vue.defineComponent({
585
558
  value: coverImage
586
559
  } = coverImageRef;
587
560
  const coverSrc = coverImage && coverImage.src;
588
- const styles = { ...currentRectRef.value
561
+ const styles = {
562
+ ...currentRectRef.value
589
563
  };
590
-
591
564
  if (coverSrc) {
592
565
  styles.backgroundImage = `url(${coverSrc})`;
593
566
  }
594
-
595
567
  return styles;
596
568
  });
597
569
  let booted = false;
598
570
  vue.watch(() => ctx.attrs.src, value => {
599
571
  coverImageRef.value = undefined;
600
-
601
- if (isAvairableSrc(value)) {
572
+ if (isAvailableSrc(value)) {
602
573
  loadStateRef.value = 'loading';
603
-
604
574
  if (props.cover) {
605
575
  helpers.loadImage(value).then(image => {
606
576
  coverImageRef.value = image;
@@ -615,7 +585,6 @@ const VBusyImage = vue.defineComponent({
615
585
  }, {
616
586
  immediate: helpers.IN_WINDOW
617
587
  });
618
-
619
588
  const setManualState = loadType => {
620
589
  loadStateRef.value = loadType === 'load' ? 'loaded' : 'error';
621
590
  const ev = new Event(loadType, {
@@ -625,13 +594,11 @@ const VBusyImage = vue.defineComponent({
625
594
  });
626
595
  ctx.emit(loadType, ev);
627
596
  };
628
-
629
597
  vue.onMounted(() => {
630
598
  if (booted || props.cover) return;
631
599
  const image = nodeRef.value;
632
600
  if (!image) return;
633
601
  const loadType = imageIsReady(image);
634
-
635
602
  if (loadType) {
636
603
  setManualState(loadType);
637
604
  }
@@ -639,19 +606,16 @@ const VBusyImage = vue.defineComponent({
639
606
  vue.onBeforeUnmount(() => {
640
607
  coverImageRef.value = undefined;
641
608
  });
642
-
643
609
  const handleLoad = ev => {
644
610
  booted = true;
645
611
  loadStateRef.value = 'loaded';
646
612
  ctx.emit('load', ev);
647
613
  };
648
-
649
614
  const handleError = ev => {
650
615
  booted = true;
651
616
  loadStateRef.value = 'error';
652
617
  ctx.emit('error', ev);
653
618
  };
654
-
655
619
  ctx.expose({
656
620
  state: loadStateRef,
657
621
  isPending: isPendingRef,
@@ -682,15 +646,12 @@ const VBusyImage = vue.defineComponent({
682
646
  }, [children])]);
683
647
  };
684
648
  }
685
-
686
649
  });
687
-
688
650
  function imageIsReady(image) {
689
651
  if (!image.complete) return false;
690
652
  return image.naturalWidth + image.naturalHeight > 0 ? 'load' : 'error';
691
653
  }
692
-
693
- function isAvairableSrc(src) {
654
+ function isAvailableSrc(src) {
694
655
  return typeof src === 'string' && src !== '';
695
656
  }
696
657
 
@@ -703,10 +664,11 @@ function extractRawGridValueClasses(value, prefix, getter) {
703
664
  }
704
665
  // export const DEFAULT_MEDIA_MATCH_KEY = MEDIA_MATCH_CONDITIONS[0].key;
705
666
 
706
- const VGridItem = vue.defineComponent({
667
+ const VGridItem = /* @__PURE__ */ vue.defineComponent({
707
668
  name: 'VGridItem',
708
669
  inheritAttrs: false,
709
- props: { ...vueUtils.htmlAttributesPropOptions,
670
+ props: {
671
+ ...vueUtils.htmlAttributesPropOptions,
710
672
  tag: {
711
673
  type: String,
712
674
  default: 'div'
@@ -717,11 +679,11 @@ const VGridItem = vue.defineComponent({
717
679
  justify: undefined,
718
680
  order: undefined
719
681
  },
720
-
721
682
  setup(props, ctx) {
722
683
  const data = vue.computed(() => {
723
684
  const classes = [];
724
- const attrs = { ...ctx.attrs
685
+ const attrs = {
686
+ ...ctx.attrs
725
687
  };
726
688
  const {
727
689
  size,
@@ -736,14 +698,14 @@ const VGridItem = vue.defineComponent({
736
698
  size != null && classes.push(extractRawGridValueClasses(size, 'grid-size-'));
737
699
  align && classes.push(extractRawGridValueClasses(align, 'self-align-'));
738
700
  justify && classes.push(extractRawGridValueClasses(justify, 'self-justify-'));
739
- order != null && classes.push(extractRawGridValueClasses(order, 'order-')); // MEDIA_MATCH_CONDITIONS.forEach(({ key }) => {
701
+ order != null && classes.push(extractRawGridValueClasses(order, 'order-'));
702
+ // MEDIA_MATCH_CONDITIONS.forEach(({ key }) => {
740
703
  // const v = attrs[key];
741
704
  // delete attrs[key];
742
705
  // if (v != null) {
743
706
  // classes.push(`grid-size-${v}--${key}`);
744
707
  // }
745
708
  // });
746
-
747
709
  return {
748
710
  classes,
749
711
  attrs
@@ -760,17 +722,16 @@ const VGridItem = vue.defineComponent({
760
722
  }, attrs), ctx.slots);
761
723
  };
762
724
  }
763
-
764
725
  });
765
726
 
766
727
  function spacingValueToString(value) {
767
728
  return Number.isInteger(value) ? String(value) : `${value}h`;
768
729
  }
769
-
770
- const VGridContainer = vue.defineComponent({
730
+ const VGridContainer = /* @__PURE__ */ vue.defineComponent({
771
731
  name: 'VGridContainer',
772
732
  inheritAttrs: false,
773
- props: { ...vueUtils.htmlAttributesPropOptions,
733
+ props: {
734
+ ...vueUtils.htmlAttributesPropOptions,
774
735
  wrapperTag: {
775
736
  type: String,
776
737
  default: 'div'
@@ -787,11 +748,11 @@ const VGridContainer = vue.defineComponent({
787
748
  alignContent: undefined,
788
749
  justifyContent: undefined
789
750
  },
790
-
791
751
  setup(props, ctx) {
792
752
  const data = vue.computed(() => {
793
753
  const classes = [];
794
- const attrs = { ...ctx.attrs
754
+ const attrs = {
755
+ ...ctx.attrs
795
756
  };
796
757
  const {
797
758
  spacing,
@@ -812,7 +773,8 @@ const VGridContainer = vue.defineComponent({
812
773
  delete attrs.direction;
813
774
  delete attrs.wrap;
814
775
  delete attrs.alignContent;
815
- delete attrs.justifyContent; // spacingX = mergeSpacing(spacing, spacingX);
776
+ delete attrs.justifyContent;
777
+ // spacingX = mergeSpacing(spacing, spacingX);
816
778
  // spacingY = mergeSpacing(spacing, spacingY);
817
779
  // if (!spacingX) {
818
780
  // spacingX = spacing;
@@ -821,7 +783,6 @@ const VGridContainer = vue.defineComponent({
821
783
  // classes.push(extractRawGridItemValueClasses(align, 'self-align-'));
822
784
  // justify &&
823
785
  // classes.push(extractRawGridItemValueClasses(justify, 'self-justify-'));
824
-
825
786
  spacing != null && classes.push(extractRawGridValueClasses(spacing, 'grid-spacing-', spacingValueToString));
826
787
  spacingX != null && classes.push(extractRawGridValueClasses(spacingX, 'grid-spacing-x-', spacingValueToString));
827
788
  spacingY != null && classes.push(extractRawGridValueClasses(spacingY, 'grid-spacing-y-', spacingValueToString));
@@ -855,11 +816,11 @@ const VGridContainer = vue.defineComponent({
855
816
  });
856
817
  };
857
818
  }
858
-
859
819
  });
860
820
 
861
821
  function createPaperBaseProps() {
862
- return { ...vueUtils.htmlAttributesPropOptions,
822
+ return {
823
+ ...vueUtils.htmlAttributesPropOptions,
863
824
  color: String,
864
825
  tag: {
865
826
  type: [String, Object],
@@ -869,7 +830,8 @@ function createPaperBaseProps() {
869
830
  };
870
831
  }
871
832
  function createPaperProps() {
872
- return { ...createElevationProps(),
833
+ return {
834
+ ...createElevationProps(),
873
835
  ...createPaperBaseProps(),
874
836
  square: Boolean,
875
837
  headerProps: Object,
@@ -878,11 +840,10 @@ function createPaperProps() {
878
840
  innerClass: [String, Array, Object]
879
841
  };
880
842
  }
881
- const VPaper = vue.defineComponent({
843
+ const VPaper = /* @__PURE__ */ vue.defineComponent({
882
844
  name: 'VPaper',
883
845
  inheritAttrs: false,
884
846
  props: createPaperProps(),
885
-
886
847
  setup(props, ctx) {
887
848
  const tag = vue.computed(() => props.tag);
888
849
  const elevation = useElevation(props, {
@@ -916,12 +877,12 @@ const VPaper = vue.defineComponent({
916
877
  });
917
878
  };
918
879
  }
919
-
920
880
  });
921
881
 
922
882
  const AVATAR_SIZES = ['sm', 'md', 'lg'];
923
883
  function createAvatarProps() {
924
- return { ...vueColorScheme.colorSchemeProps(),
884
+ return {
885
+ ...vueColorScheme.colorSchemeProps(),
925
886
  ...vueUtils.navigationableInheritProps,
926
887
  size: {
927
888
  type: [String, Number],
@@ -933,11 +894,10 @@ function createAvatarProps() {
933
894
  src: String
934
895
  };
935
896
  }
936
- const VAvatar = vue.defineComponent({
897
+ const VAvatar = /* @__PURE__ */ vue.defineComponent({
937
898
  name: 'VAvatar',
938
899
  inheritAttrs: false,
939
900
  props: createAvatarProps(),
940
-
941
901
  setup(props, ctx) {
942
902
  const vui = useVui();
943
903
  const defaults = vui.setting('buttonDefault');
@@ -987,12 +947,12 @@ const VAvatar = vue.defineComponent({
987
947
  });
988
948
  };
989
949
  }
990
-
991
950
  });
992
951
 
993
952
  const CHIP_SIZES = ['xs', 'sm', 'md', 'lg', 'xl'];
994
953
  function createChipProps() {
995
- return { ...vueColorScheme.colorSchemeProps(),
954
+ return {
955
+ ...vueColorScheme.colorSchemeProps(),
996
956
  ...vueUtils.navigationableInheritProps,
997
957
  size: {
998
958
  type: String,
@@ -1004,10 +964,8 @@ function createChipProps() {
1004
964
  disabled: Boolean
1005
965
  };
1006
966
  }
1007
-
1008
967
  function resolveRawVChipIcon(raw, type) {
1009
968
  if (!raw) return;
1010
-
1011
969
  if (typeof raw === 'function') {
1012
970
  return () => {
1013
971
  const child = raw();
@@ -1017,18 +975,15 @@ function resolveRawVChipIcon(raw, type) {
1017
975
  }, [child]);
1018
976
  };
1019
977
  }
1020
-
1021
978
  return () => vue.createVNode(VIcon, {
1022
979
  "class": ['v-chip__icon', `v-chip__icon--${type}`],
1023
980
  "name": raw
1024
981
  }, null);
1025
982
  }
1026
-
1027
- const VChip = vue.defineComponent({
983
+ const VChip = /* @__PURE__ */ vue.defineComponent({
1028
984
  name: 'VChip',
1029
985
  inheritAttrs: false,
1030
986
  props: createChipProps(),
1031
-
1032
987
  setup(props, ctx) {
1033
988
  const vui = useVui();
1034
989
  const defaults = vui.setting('buttonDefault');
@@ -1038,12 +993,10 @@ const VChip = vue.defineComponent({
1038
993
  });
1039
994
  const startIcon = vue.computed(() => {
1040
995
  const _icon = resolveRawVChipIcon(props.startIcon, 'start');
1041
-
1042
996
  return _icon && _icon();
1043
997
  });
1044
998
  const endIcon = vue.computed(() => {
1045
999
  const _icon = resolveRawVChipIcon(props.endIcon, 'end');
1046
-
1047
1000
  return _icon && _icon();
1048
1001
  });
1049
1002
  const navigationable = vueUtils.useNavigationable(ctx, {
@@ -1072,31 +1025,29 @@ const VChip = vue.defineComponent({
1072
1025
  });
1073
1026
  };
1074
1027
  }
1075
-
1076
1028
  });
1077
1029
 
1078
1030
  function createCardProps() {
1079
- return { ...createPaperProps(),
1031
+ return {
1032
+ ...createPaperProps(),
1080
1033
  ...vueUtils.navigationableInheritProps,
1081
1034
  disabled: Boolean
1082
1035
  };
1083
1036
  }
1084
- const VCard = vue.defineComponent({
1037
+ const VCard = /* @__PURE__ */ vue.defineComponent({
1085
1038
  name: 'VCard',
1086
1039
  inheritAttrs: false,
1087
1040
  props: createCardProps(),
1088
-
1089
1041
  setup(props, ctx) {
1090
1042
  const _props = vue.computed(() => props);
1091
-
1092
1043
  const data = vue.computed(() => {
1093
1044
  const hasLink = !!ctx.attrs.href || !!ctx.attrs.to;
1094
- const attrs = { ..._props.value,
1045
+ const attrs = {
1046
+ ..._props.value,
1095
1047
  ...ctx.attrs,
1096
1048
  class: ['v-card', ctx.attrs.class, typeof ctx.attrs.onClick === 'function' && 'clickable'],
1097
1049
  tag: hasLink ? vueUtils.VLink : 'div'
1098
1050
  };
1099
-
1100
1051
  if (props.disabled) {
1101
1052
  attrs.disabled = 'disabled';
1102
1053
  delete attrs.onClick;
@@ -1105,7 +1056,6 @@ const VCard = vue.defineComponent({
1105
1056
  } else {
1106
1057
  delete attrs.disabled;
1107
1058
  }
1108
-
1109
1059
  return {
1110
1060
  attrs
1111
1061
  };
@@ -1114,12 +1064,10 @@ const VCard = vue.defineComponent({
1114
1064
  return vue.createVNode(VPaper, data.value.attrs, ctx.slots);
1115
1065
  };
1116
1066
  }
1117
-
1118
1067
  });
1119
1068
 
1120
- const VCardContent = vue.defineComponent({
1069
+ const VCardContent = /* @__PURE__ */ vue.defineComponent({
1121
1070
  name: 'VCardContent',
1122
-
1123
1071
  setup(props, ctx) {
1124
1072
  return () => {
1125
1073
  return vue.createVNode("div", {
@@ -1127,12 +1075,10 @@ const VCardContent = vue.defineComponent({
1127
1075
  }, [vueUtils.renderSlotOrEmpty(ctx.slots, 'default')]);
1128
1076
  };
1129
1077
  }
1130
-
1131
1078
  });
1132
1079
 
1133
- const VCardActions = vue.defineComponent({
1080
+ const VCardActions = /* @__PURE__ */ vue.defineComponent({
1134
1081
  name: 'VCardActions',
1135
-
1136
1082
  setup(props, ctx) {
1137
1083
  return () => {
1138
1084
  return vue.createVNode("div", {
@@ -1140,9 +1086,9 @@ const VCardActions = vue.defineComponent({
1140
1086
  }, [vueUtils.renderSlotOrEmpty(ctx.slots, 'default')]);
1141
1087
  };
1142
1088
  }
1143
-
1144
1089
  });
1145
1090
 
1091
+ const BUTTON_ALIGNS = ['left', 'center', 'right'];
1146
1092
  function resolveRawVButtonIcon(raw, type = 'main') {
1147
1093
  if (!raw) return;
1148
1094
  return typeof raw === 'function' ? raw : () => vue.createVNode(VIcon, {
@@ -1150,8 +1096,8 @@ function resolveRawVButtonIcon(raw, type = 'main') {
1150
1096
  "name": raw
1151
1097
  }, null);
1152
1098
  }
1153
-
1154
- const vueButtonProps = vueUtils.createPropsOptions({ ...vueUtils.htmlAttributesPropOptions,
1099
+ const vueButtonProps = vueUtils.createPropsOptions({
1100
+ ...vueUtils.htmlAttributesPropOptions,
1155
1101
  ...vueColorScheme.colorSchemeProps(),
1156
1102
  ...vueUtils.navigationableInheritProps,
1157
1103
  spacer: [Boolean, String],
@@ -1159,6 +1105,10 @@ const vueButtonProps = vueUtils.createPropsOptions({ ...vueUtils.htmlAttributesP
1159
1105
  icon: [String, Function],
1160
1106
  startIcon: [String, Function],
1161
1107
  endIcon: [String, Function],
1108
+ align: {
1109
+ type: String,
1110
+ default: 'center'
1111
+ },
1162
1112
  ...createControlProps()
1163
1113
  });
1164
1114
  const LOADING_SIZE_MAP = {
@@ -1166,28 +1116,24 @@ const LOADING_SIZE_MAP = {
1166
1116
  md: 20,
1167
1117
  lg: 28
1168
1118
  };
1169
- const VButton = vue.defineComponent({
1119
+ const VButton = /* @__PURE__ */ vue.defineComponent({
1170
1120
  name: 'VButton',
1171
1121
  inheritAttrs: false,
1172
1122
  props: vueButtonProps,
1173
-
1174
1123
  setup(props, ctx) {
1175
1124
  const vui = useVui();
1176
1125
  const control = useControl(props);
1177
1126
  const defaults = vui.setting('buttonDefault');
1178
1127
  const icon = vue.computed(() => {
1179
1128
  const _icon = resolveRawVButtonIcon(props.icon);
1180
-
1181
1129
  return _icon && _icon();
1182
1130
  });
1183
1131
  const startIcon = vue.computed(() => {
1184
1132
  const _icon = resolveRawVButtonIcon(props.startIcon, 'start');
1185
-
1186
1133
  return _icon && _icon();
1187
1134
  });
1188
1135
  const endIcon = vue.computed(() => {
1189
1136
  const _icon = resolveRawVButtonIcon(props.endIcon, 'end');
1190
-
1191
1137
  return _icon && _icon();
1192
1138
  });
1193
1139
  const color = vueColorScheme.useColorClasses({
@@ -1195,18 +1141,19 @@ const VButton = vue.defineComponent({
1195
1141
  variant: () => props.variant || (icon.value ? vui.setting('plainVariant') : defaults.variant)
1196
1142
  });
1197
1143
  const isPlain = vue.computed(() => color.variant.value.value === vui.setting('plainVariant') && color.color.value.value === defaults.color);
1198
- const isLoading = vue.computed(() => props.loading); // const isDisabled = computed(() => props.disabled);
1144
+ const isLoading = vue.computed(() => props.loading);
1145
+ // const isDisabled = computed(() => props.disabled);
1199
1146
  // const isRounded = computed(() =>
1200
1147
  // props.rounded != null ? props.rounded : !!icon.value,
1201
1148
  // );
1202
-
1203
1149
  const spacer = vue.computed(() => {
1204
1150
  const _spacer = props.spacer;
1205
1151
  if (!_spacer) return;
1206
1152
  return _spacer === true ? 'left' : _spacer;
1207
1153
  });
1208
- const classes = vue.computed(() => [color.colorClasses.value, // navigationable.value.classes,
1209
- spacer.value ? `v-button--spacer-${spacer.value}` : undefined, `v-button--${control.size.value}`, {
1154
+ const classes = vue.computed(() => [color.colorClasses.value,
1155
+ // navigationable.value.classes,
1156
+ spacer.value ? `v-button--spacer-${spacer.value}` : undefined, `v-button--${control.size.value}`, `v-button--align-${props.align}`, {
1210
1157
  'v-button--loading': isLoading.value,
1211
1158
  'v-button--icon': !!icon.value,
1212
1159
  'v-button--rounded': props.rounded,
@@ -1227,26 +1174,23 @@ const VButton = vue.defineComponent({
1227
1174
  });
1228
1175
  };
1229
1176
  }
1230
-
1231
1177
  });
1232
1178
 
1233
- const VButtonGroup = vue.defineComponent({
1179
+ const VButtonGroup = /* @__PURE__ */ vue.defineComponent({
1234
1180
  name: 'VButtonGroup',
1235
- props: { ...vueColorScheme.colorSchemeProps(),
1181
+ props: {
1182
+ ...vueColorScheme.colorSchemeProps(),
1236
1183
  ...createControlProps(),
1237
1184
  disabled: Boolean
1238
1185
  },
1239
-
1240
1186
  setup(props, ctx) {
1241
1187
  return () => {
1242
1188
  let hasIcon = false;
1243
1189
  let buttonLength = 0;
1244
1190
  let tmp = vueUtils.renderSlotOrEmpty(ctx.slots) || [];
1245
-
1246
1191
  if (tmp.length === 1 && vueUtils.isFragment(tmp[0])) {
1247
1192
  tmp = tmp[0].children;
1248
1193
  }
1249
-
1250
1194
  const children = tmp.map(node => {
1251
1195
  if (!vue.isVNode(node) || node.type !== VButton) {
1252
1196
  return {
@@ -1254,13 +1198,10 @@ const VButtonGroup = vue.defineComponent({
1254
1198
  node
1255
1199
  };
1256
1200
  }
1257
-
1258
1201
  buttonLength++;
1259
-
1260
1202
  if (!hasIcon && node.props && !!node.props.icon) {
1261
1203
  hasIcon = true;
1262
1204
  }
1263
-
1264
1205
  return {
1265
1206
  isButton: true,
1266
1207
  node
@@ -1273,7 +1214,8 @@ const VButtonGroup = vue.defineComponent({
1273
1214
  const hasLeft = buttonIndex > 1;
1274
1215
  const hasRight = buttonIndex < buttonLength;
1275
1216
  const childProps = child.node.props;
1276
- return vue.cloneVNode(child.node, { ...props,
1217
+ return vue.cloneVNode(child.node, {
1218
+ ...props,
1277
1219
  ...childProps,
1278
1220
  rouded: false,
1279
1221
  class: ['v-button-group__item', {
@@ -1283,7 +1225,6 @@ const VButtonGroup = vue.defineComponent({
1283
1225
  }]
1284
1226
  });
1285
1227
  }
1286
-
1287
1228
  return child.node;
1288
1229
  });
1289
1230
  return vue.createVNode("div", {
@@ -1293,13 +1234,11 @@ const VButtonGroup = vue.defineComponent({
1293
1234
  }, [$children]);
1294
1235
  };
1295
1236
  }
1296
-
1297
1237
  });
1298
1238
 
1299
1239
  function _isSlot$e(s) {
1300
1240
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
1301
1241
  }
1302
-
1303
1242
  const PAGINATION_ALIGNS = ['left', 'center', 'right'];
1304
1243
  function paginationProps() {
1305
1244
  return vueUtils.createPropsOptions({
@@ -1310,7 +1249,6 @@ function paginationProps() {
1310
1249
  type: vueUtils.rawNumberPropType,
1311
1250
  default: 1
1312
1251
  },
1313
-
1314
1252
  /**
1315
1253
  * Total number of pages
1316
1254
  */
@@ -1318,12 +1256,10 @@ function paginationProps() {
1318
1256
  type: vueUtils.rawNumberPropType,
1319
1257
  default: 0
1320
1258
  },
1321
-
1322
1259
  /**
1323
1260
  * Maximum number of links to display.
1324
1261
  */
1325
1262
  totalVisible: vueUtils.rawNumberPropType,
1326
-
1327
1263
  /**
1328
1264
  * true when narrowing
1329
1265
  */
@@ -1333,7 +1269,6 @@ function paginationProps() {
1333
1269
  type: String,
1334
1270
  default: 'center'
1335
1271
  },
1336
-
1337
1272
  /**
1338
1273
  * To synchronize with a query, use the query name
1339
1274
  */
@@ -1342,14 +1277,13 @@ function paginationProps() {
1342
1277
  color: String
1343
1278
  });
1344
1279
  }
1345
- const VPagination = vue.defineComponent({
1280
+ const VPagination = /* @__PURE__ */ vue.defineComponent({
1346
1281
  name: 'VPagination',
1347
1282
  props: paginationProps(),
1348
1283
  emits: {
1349
1284
  change: page => true,
1350
1285
  'update:modelValue': page => true
1351
1286
  },
1352
-
1353
1287
  setup(props, ctx) {
1354
1288
  const vui = useVui();
1355
1289
  const elRef = vue.ref(null);
@@ -1372,40 +1306,31 @@ const VPagination = vue.defineComponent({
1372
1306
  const {
1373
1307
  routeQuery
1374
1308
  } = props;
1375
-
1376
1309
  if (routeQuery) {
1377
1310
  return vui.location.getQuery(routeQuery, Number, 1);
1378
1311
  }
1379
-
1380
1312
  return internalValue.value;
1381
1313
  });
1382
-
1383
1314
  const _range = (from, to) => {
1384
1315
  const range = [];
1385
1316
  from = from > 0 ? from : 1;
1386
-
1387
1317
  for (let i = from; i <= to; i++) {
1388
1318
  range.push(i);
1389
1319
  }
1390
-
1391
1320
  return range;
1392
1321
  };
1393
-
1394
1322
  const computedItems = vue.computed(() => {
1395
1323
  const maxButtons = computedNumbersLength.value;
1396
1324
  const totalVisible = computedTotalVisible.value;
1397
1325
  const length = computedLength.value;
1398
1326
  const pageValue = computedPage.value;
1399
1327
  const maxLength = Math.min(Math.max(0, totalVisible || 0) || length, Math.max(0, maxButtons) || length, length);
1400
-
1401
1328
  if (length <= maxLength) {
1402
1329
  return _range(1, length);
1403
1330
  }
1404
-
1405
1331
  const even = maxLength % 2 === 0 ? 1 : 0;
1406
1332
  const left = Math.floor(maxLength / 2);
1407
1333
  const right = length - left + 1 + even;
1408
-
1409
1334
  if (pageValue > left && pageValue < right) {
1410
1335
  const start = pageValue - left + 2;
1411
1336
  const end = pageValue + left - 2 - even;
@@ -1433,7 +1358,6 @@ const VPagination = vue.defineComponent({
1433
1358
  'v-pagination--dense': props.dense,
1434
1359
  [`v-pagination--${props.align}`]: true
1435
1360
  }, colorScope.value.className]);
1436
-
1437
1361
  async function setPage(value) {
1438
1362
  if (isDisabled.value) return;
1439
1363
  const {
@@ -1442,7 +1366,6 @@ const VPagination = vue.defineComponent({
1442
1366
  } = props;
1443
1367
  const newPage = vueUtils.resolveNumberish(value);
1444
1368
  if (computedPage.value === newPage) return;
1445
-
1446
1369
  if (beforeChange) {
1447
1370
  try {
1448
1371
  let result = beforeChange(newPage);
@@ -1450,7 +1373,6 @@ const VPagination = vue.defineComponent({
1450
1373
  if (result === false) return;
1451
1374
  } catch (e) {}
1452
1375
  }
1453
-
1454
1376
  if (routeQuery) {
1455
1377
  const to = createRoutableLocationByPage(newPage, routeQuery);
1456
1378
  return router.push(to).then(failure => {
@@ -1462,7 +1384,6 @@ const VPagination = vue.defineComponent({
1462
1384
  ctx.emit('change', newPage);
1463
1385
  }
1464
1386
  }
1465
-
1466
1387
  function createPageInfo(source) {
1467
1388
  const currentPage = computedPage.value;
1468
1389
  const length = computedLength.value;
@@ -1470,7 +1391,6 @@ const VPagination = vue.defineComponent({
1470
1391
  let page;
1471
1392
  let active;
1472
1393
  let disabled;
1473
-
1474
1394
  if (typeof source === 'number') {
1475
1395
  number = true;
1476
1396
  page = source;
@@ -1488,7 +1408,6 @@ const VPagination = vue.defineComponent({
1488
1408
  active = false;
1489
1409
  disabled = page < 1 || page > length;
1490
1410
  }
1491
-
1492
1411
  return {
1493
1412
  number,
1494
1413
  page,
@@ -1496,13 +1415,11 @@ const VPagination = vue.defineComponent({
1496
1415
  disabled
1497
1416
  };
1498
1417
  }
1499
-
1500
1418
  function createRoutableLocationByPage(page, routeQuery) {
1501
1419
  return vui.location.getQueryMergedLocation({
1502
1420
  [routeQuery]: page
1503
1421
  });
1504
1422
  }
1505
-
1506
1423
  function genItem(source, index) {
1507
1424
  const {
1508
1425
  number,
@@ -1520,25 +1437,21 @@ const VPagination = vue.defineComponent({
1520
1437
  if (type === 'truncate') {
1521
1438
  return vue.createVNode("span", null, [vue.createTextVNode("...")]);
1522
1439
  }
1523
-
1524
1440
  const isPrev = type === 'prev';
1525
1441
  const icon = isPrev ? vui.icon('prev') : vui.icon('next');
1526
1442
  return resolveRawIconProp(false, icon, {
1527
1443
  class: 'v-pagination__item__icon'
1528
1444
  });
1529
1445
  })();
1530
-
1531
1446
  const onClick = ev => {
1532
1447
  ev.preventDefault();
1533
1448
  if (page === undefined || active || disabled) return;
1534
1449
  setPage(page);
1535
1450
  };
1536
-
1537
1451
  const key = `${source}-${index}`;
1538
1452
  const {
1539
1453
  routeQuery
1540
1454
  } = props;
1541
-
1542
1455
  if (page !== undefined && routeQuery) {
1543
1456
  const to = createRoutableLocationByPage(page, routeQuery);
1544
1457
  return vue.createVNode(vueRouter.RouterLink, {
@@ -1558,7 +1471,6 @@ const VPagination = vue.defineComponent({
1558
1471
  }, [children]);
1559
1472
  }
1560
1473
  }
1561
-
1562
1474
  vue.watch(() => props.modelValue, modelValue => {
1563
1475
  internalValue.value = vueUtils.resolveNumberish(modelValue);
1564
1476
  }, {
@@ -1574,7 +1486,6 @@ const VPagination = vue.defineComponent({
1574
1486
  width
1575
1487
  }) => {
1576
1488
  const el = elRef.value;
1577
-
1578
1489
  if (el) {
1579
1490
  const style = window.getComputedStyle(el, 'before');
1580
1491
  const width = style.getPropertyValue('width');
@@ -1582,17 +1493,16 @@ const VPagination = vue.defineComponent({
1582
1493
  const size = parseFloat(width) + parseFloat(margin) * 0.5;
1583
1494
  itemSize.value = size;
1584
1495
  }
1585
-
1586
1496
  containerWidth.value = width;
1587
1497
  })]);
1588
1498
  };
1589
1499
  }
1590
-
1591
1500
  });
1592
1501
 
1593
1502
  function createListTileProps() {
1594
1503
  const icon = rawIconProp();
1595
- return { ...vueUtils.navigationableInheritProps,
1504
+ return {
1505
+ ...vueUtils.navigationableInheritProps,
1596
1506
  ...vueUtils.createPropsOptions({
1597
1507
  startIcon: icon,
1598
1508
  endIcon: icon,
@@ -1609,26 +1519,25 @@ function createListTileProps() {
1609
1519
  const listTileEmits = {
1610
1520
  changeActive: isActive => true
1611
1521
  };
1612
- const VListTile = vue.defineComponent({
1522
+ const VListTile = /* @__PURE__ */ vue.defineComponent({
1613
1523
  name: 'VListTile',
1614
1524
  inheritAttrs: false,
1615
1525
  props: createListTileProps(),
1616
- emits: { ...listTileEmits
1526
+ emits: {
1527
+ ...listTileEmits
1617
1528
  },
1618
-
1619
1529
  setup(props, ctx) {
1530
+ const vui = useVui();
1620
1531
  const startIcon = vue.computed(() => {
1621
1532
  let icon = resolveRawIconProp(false, props.startIcon);
1622
-
1623
1533
  if (!icon && props.startIconEmptySpace) {
1624
1534
  icon = resolveRawIconProp(false, '$empty');
1625
1535
  }
1626
-
1627
1536
  return icon;
1628
1537
  });
1629
1538
  const endIcon = vue.computed(() => resolveRawIconProp(false, props.endIcon));
1630
1539
  const hasTo = vue.computed(() => !!ctx.attrs.to);
1631
- const link = vueRouter.useLink({
1540
+ const link = vui.useLink({
1632
1541
  to: ctx.attrs.to || ''
1633
1542
  });
1634
1543
  const isActive = vue.computed(() => {
@@ -1667,14 +1576,13 @@ const VListTile = vue.defineComponent({
1667
1576
  });
1668
1577
  };
1669
1578
  }
1670
-
1671
1579
  });
1672
1580
 
1673
- const VDrawerLayout = vue.defineComponent({
1581
+ const VDrawerLayout = /* @__PURE__ */ vue.defineComponent({
1674
1582
  name: 'VDrawerLayout',
1675
- props: { ...createPaperBaseProps()
1583
+ props: {
1584
+ ...createPaperBaseProps()
1676
1585
  },
1677
-
1678
1586
  setup(props, ctx) {
1679
1587
  return () => {
1680
1588
  const paperProps = vue.computed(() => ({
@@ -1698,16 +1606,16 @@ const VDrawerLayout = vue.defineComponent({
1698
1606
  }), ctx.slots);
1699
1607
  };
1700
1608
  }
1701
-
1702
1609
  });
1703
1610
 
1611
+ // Adornment
1704
1612
  function _isSlot$d(s) {
1705
1613
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
1706
1614
  }
1707
-
1708
- const VHero = vue.defineComponent({
1615
+ const VHero = /* @__PURE__ */ vue.defineComponent({
1709
1616
  name: 'VHero',
1710
- props: { ...vueUtils.htmlAttributesPropOptions,
1617
+ props: {
1618
+ ...vueUtils.htmlAttributesPropOptions,
1711
1619
  color: {
1712
1620
  type: String,
1713
1621
  default: 'primary'
@@ -1722,11 +1630,9 @@ const VHero = vue.defineComponent({
1722
1630
  },
1723
1631
  ...vueUtils.defineSlotsProps()
1724
1632
  },
1725
-
1726
1633
  setup(props, ctx) {
1727
1634
  return () => {
1728
1635
  let _slot;
1729
-
1730
1636
  const TagName = props.tag;
1731
1637
  const HTagName = props.hTag;
1732
1638
  const adornment = vueUtils.renderSlotOrEmpty(ctx.slots, 'adornment');
@@ -1747,37 +1653,36 @@ const VHero = vue.defineComponent({
1747
1653
  });
1748
1654
  };
1749
1655
  }
1750
-
1751
1656
  });
1752
1657
 
1753
1658
  function _isSlot$c(s) {
1754
1659
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
1755
1660
  }
1756
-
1757
1661
  function createNavigationItemProps() {
1758
- return { ...createListTileProps(),
1759
- match: String,
1662
+ return {
1663
+ ...createListTileProps(),
1664
+ match: [String, Array],
1760
1665
  depth: {
1761
1666
  type: Number,
1762
1667
  default: 0
1763
1668
  },
1764
1669
  nested: Boolean,
1765
- color: String // key: {
1670
+ color: String
1671
+ // key: {
1766
1672
  // type: [String, Number],
1767
1673
  // required: true,
1768
1674
  // },
1769
-
1770
1675
  };
1771
1676
  }
1677
+
1772
1678
  function resolveNavigationItemInput(input) {
1773
1679
  let label = input.label;
1774
- const props = { ...input
1680
+ const props = {
1681
+ ...input
1775
1682
  };
1776
-
1777
1683
  if (typeof label === 'function') {
1778
1684
  label = label();
1779
1685
  }
1780
-
1781
1686
  delete props.label;
1782
1687
  return {
1783
1688
  label,
@@ -1789,21 +1694,27 @@ function renderNavigationItemInput(input, extraProps) {
1789
1694
  label,
1790
1695
  props
1791
1696
  } = resolveNavigationItemInput(input);
1792
- return vue.createVNode(VNavigationItem, { ...props,
1697
+ return vue.createVNode(VNavigationItem, {
1698
+ ...props,
1793
1699
  ...extraProps
1794
1700
  }, _isSlot$c(label) ? label : {
1795
1701
  default: () => [label]
1796
1702
  });
1797
1703
  }
1798
- const VNavigationItem = vue.defineComponent({
1704
+ const TRIM_END_SLASH_RE = /\/$/;
1705
+ function trimEndSlash(sorce) {
1706
+ return sorce ? sorce.replace(TRIM_END_SLASH_RE, '') : sorce;
1707
+ }
1708
+ const VNavigationItem = /* @__PURE__ */ vue.defineComponent({
1799
1709
  name: 'VNavigationItem',
1800
1710
  inheritAttrs: false,
1801
- props: { ...createNavigationItemProps(),
1711
+ props: {
1712
+ ...createNavigationItemProps(),
1802
1713
  children: Array
1803
1714
  },
1804
- emits: { ...listTileEmits
1715
+ emits: {
1716
+ ...listTileEmits
1805
1717
  },
1806
-
1807
1718
  setup(props, ctx) {
1808
1719
  const vui = useVui();
1809
1720
  const opened = vue.ref(false);
@@ -1819,51 +1730,59 @@ const VNavigationItem = vue.defineComponent({
1819
1730
  const {
1820
1731
  to
1821
1732
  } = ctx.attrs;
1822
- if (match) return match;
1733
+ if (match) {
1734
+ return (Array.isArray(match) ? match : [match]).map(trimEndSlash);
1735
+ }
1823
1736
  if (!to) return;
1824
- if (typeof to === 'string') return to;
1825
- return to.path;
1737
+ const toPath = typeof to === 'string' ? to : to.path;
1738
+ if (!toPath) return;
1739
+ return [trimEndSlash(toPath)];
1826
1740
  });
1827
1741
  const classes = vue.computed(() => [{
1828
1742
  'v-navigation-item--opened': opened.value,
1829
1743
  [`v-navigation-item--depth-${props.depth}`]: props.depth > 0
1830
1744
  }]);
1831
- const route = vueRouter.useRoute(); // const classes = computed(() => [
1745
+ const route = vueRouter.useRoute();
1746
+ // const classes = computed(() => [
1832
1747
  // // {
1833
1748
  // // 'v-navigation-item--matched': matched.value,
1834
1749
  // // },
1835
1750
  // ]);
1836
-
1837
1751
  vue.watch(() => route.path, newPath => {
1838
1752
  const c = children.value;
1839
1753
  const m = match.value;
1840
-
1841
- if (!c || !m) {
1754
+ if (!c || !m || !m.length) {
1842
1755
  // matched.value = false;
1843
1756
  return;
1844
1757
  }
1845
-
1846
- if (newPath.match(m)) {
1847
- open(); // matched.value = true;
1758
+ const trimedNewPath = trimEndSlash(newPath);
1759
+ if (m.some(_ => trimedNewPath.match(_))) {
1760
+ open();
1761
+ // matched.value = true;
1848
1762
  } else {
1849
- close(); // matched.value = false;
1763
+ close();
1764
+ // matched.value = false;
1850
1765
  }
1766
+ // if (trimEndSlash(newPath).match(m)) {
1767
+ // open();
1768
+ // // matched.value = true;
1769
+ // } else {
1770
+ // close();
1771
+ // // matched.value = false;
1772
+ // }
1851
1773
  }, {
1852
1774
  immediate: true
1853
- }); // const iconPayload = () => opened.value;
1854
-
1775
+ });
1776
+ // const iconPayload = () => opened.value;
1855
1777
  const _props = vue.computed(() => {
1856
1778
  const c = children.value;
1857
1779
  let {
1858
1780
  endIcon
1859
1781
  } = props;
1860
-
1861
1782
  if (c && !endIcon) {
1862
1783
  endIcon = vui.icon('navigationExpand');
1863
-
1864
1784
  if (typeof endIcon === 'string') {
1865
1785
  const name = endIcon;
1866
-
1867
1786
  endIcon = gen => {
1868
1787
  return gen({
1869
1788
  name,
@@ -1872,19 +1791,20 @@ const VNavigationItem = vue.defineComponent({
1872
1791
  };
1873
1792
  }
1874
1793
  }
1875
-
1876
- const __props = { ...props,
1794
+ const __props = {
1795
+ ...props,
1877
1796
  endIcon
1878
1797
  };
1879
- delete __props.children; // const _activeClass = props.activeClass;
1798
+ delete __props.children;
1799
+ // const _activeClass = props.activeClass;
1880
1800
  // const activeClass = `v-navigation-item--active${
1881
1801
  // _activeClass ? ` ${_activeClass}` : ''
1882
1802
  // }`;
1883
-
1884
- return { ...__props // activeClass,
1803
+ return {
1804
+ ...__props
1805
+ // activeClass,
1885
1806
  // startIcon: toRawIconProp(__props.startIcon, iconPayload),
1886
1807
  // endIcon: toRawIconProp(__props.endIcon, iconPayload),
1887
-
1888
1808
  };
1889
1809
  });
1890
1810
 
@@ -1892,25 +1812,22 @@ const VNavigationItem = vue.defineComponent({
1892
1812
  if (!children.value) return;
1893
1813
  opened.value = true;
1894
1814
  }
1895
-
1896
1815
  function close() {
1897
1816
  opened.value = false;
1898
1817
  }
1899
-
1900
1818
  function toggle() {
1901
1819
  return opened.value ? close() : open();
1902
1820
  }
1903
-
1904
1821
  const onClick = ev => {
1905
1822
  if (!to.value) {
1906
1823
  return toggle();
1907
- } // console.log('★');
1824
+ }
1825
+ // console.log('★');
1908
1826
  // open();
1909
1827
  // if (!to.value) {
1910
1828
  // toggle();
1911
1829
  // }
1912
1830
  // ctx.emit('click', ev);
1913
-
1914
1831
  };
1915
1832
 
1916
1833
  const onChangeActive = isActive => {
@@ -1931,13 +1848,11 @@ const VNavigationItem = vue.defineComponent({
1931
1848
  // }
1932
1849
  ctx.emit('changeActive', isActive);
1933
1850
  };
1934
-
1935
1851
  ctx.expose({
1936
1852
  close
1937
1853
  });
1938
1854
  return () => {
1939
1855
  let _slot;
1940
-
1941
1856
  const _children = children.value;
1942
1857
  const fallbackTag = _children ? 'button' : undefined;
1943
1858
  return vue.createVNode(vue.Fragment, null, [vue.createVNode(VListTile, vue.mergeProps(ctx.attrs, _props.value, {
@@ -1956,19 +1871,17 @@ const VNavigationItem = vue.defineComponent({
1956
1871
  ...child
1957
1872
  }, {
1958
1873
  startIconEmptySpace: _props.value.startIconEmptySpace,
1959
- depth: props.nested ? props.depth + 1 : props.depth // onClick,
1874
+ depth: props.nested ? props.depth + 1 : props.depth
1875
+ // onClick,
1960
1876
  // onChangeActive,
1961
-
1962
1877
  }))]), [[vue.vShow, opened.value]])]
1963
1878
  })]);
1964
1879
  };
1965
1880
  }
1966
-
1967
1881
  });
1968
1882
 
1969
- const VNavigation = vue.defineComponent({
1970
- name: 'VNavigation',
1971
- props: {
1883
+ function createNavigationProps() {
1884
+ return vueUtils.createPropsOptions({
1972
1885
  items: {
1973
1886
  type: Array,
1974
1887
  required: true
@@ -1979,8 +1892,11 @@ const VNavigation = vue.defineComponent({
1979
1892
  default: true
1980
1893
  },
1981
1894
  caption: [String, Function]
1982
- },
1983
-
1895
+ });
1896
+ }
1897
+ const VNavigation = /* @__PURE__ */ vue.defineComponent({
1898
+ name: 'VNavigation',
1899
+ props: createNavigationProps(),
1984
1900
  setup(props, ctx) {
1985
1901
  const items = vue.computed(() => props.items);
1986
1902
  const color = vueColorScheme.useScopeColorClass(props);
@@ -1994,14 +1910,12 @@ const VNavigation = vue.defineComponent({
1994
1910
  vue.onBeforeUpdate(() => {
1995
1911
  itemsRef.value = [];
1996
1912
  });
1997
-
1998
1913
  function setItemRef(item, itemRef) {
1999
1914
  itemsRef.value.push({
2000
1915
  key: item.key,
2001
1916
  ref: itemRef
2002
1917
  });
2003
1918
  }
2004
-
2005
1919
  function onItemActivated(item) {
2006
1920
  itemsRef.value.forEach(({
2007
1921
  key,
@@ -2011,7 +1925,6 @@ const VNavigation = vue.defineComponent({
2011
1925
  ref.close();
2012
1926
  });
2013
1927
  }
2014
-
2015
1928
  return () => {
2016
1929
  const $caption = caption.value;
2017
1930
  return vue.createVNode("nav", {
@@ -2025,27 +1938,24 @@ const VNavigation = vue.defineComponent({
2025
1938
  setItemRef(item, ref);
2026
1939
  },
2027
1940
  onChangeActive: isActive => {
2028
- if (isActive
2029
- /* && item.children && item.children.length*/
2030
- ) {
1941
+ if (isActive /* && item.children && item.children.length*/) {
2031
1942
  onItemActivated(item);
2032
1943
  }
2033
1944
  }
2034
1945
  }))]);
2035
1946
  };
2036
1947
  }
2037
-
2038
1948
  });
2039
1949
 
2040
- const VCheckable = vue.defineComponent({
1950
+ const VCheckable = /* @__PURE__ */ vue.defineComponent({
2041
1951
  name: 'VCheckable',
2042
1952
  props: {
2043
1953
  invalid: Boolean,
2044
1954
  disabled: Boolean,
2045
1955
  readonly: Boolean,
2046
1956
  checked: Boolean,
2047
- ...vueKit.defineSlotsProps() // autoWidth: Boolean,
2048
-
1957
+ ...vueKit.defineSlotsProps()
1958
+ // autoWidth: Boolean,
2049
1959
  },
2050
1960
 
2051
1961
  setup(props, ctx) {
@@ -2053,8 +1963,8 @@ const VCheckable = vue.defineComponent({
2053
1963
  const invalid = vue.computed(() => props.invalid);
2054
1964
  const disabled = vue.computed(() => props.disabled);
2055
1965
  const readonly = vue.computed(() => props.readonly);
2056
- const checked = vue.computed(() => props.checked); // const autoWidth = computed(() => props.autoWidth);
2057
-
1966
+ const checked = vue.computed(() => props.checked);
1967
+ // const autoWidth = computed(() => props.autoWidth);
2058
1968
  const classes = vue.computed(() => {
2059
1969
  return [{
2060
1970
  'v-checkable--invalid': invalid.value,
@@ -2075,21 +1985,20 @@ const VCheckable = vue.defineComponent({
2075
1985
  "class": "v-checkable__label"
2076
1986
  }, [vueKit.renderSlotOrEmpty(ctx.slots, 'label')])]);
2077
1987
  }
2078
-
2079
1988
  });
2080
1989
 
2081
1990
  const {
2082
1991
  props: props$7,
2083
1992
  emits: emits$7
2084
1993
  } = vueKit.createFormSelectorItemSettings();
2085
- const VCheckbox = vue.defineComponent({
1994
+ const VCheckbox = /* @__PURE__ */ vue.defineComponent({
2086
1995
  name: 'VCheckbox',
2087
- props: { ...props$7,
1996
+ props: {
1997
+ ...props$7,
2088
1998
  ...createControlProps(),
2089
1999
  indeterminate: Boolean
2090
2000
  },
2091
2001
  emits: emits$7,
2092
-
2093
2002
  setup(props, ctx) {
2094
2003
  const nodeControl = vueKit.useFormSelectorItemControl(props, ctx, {
2095
2004
  nodeType: VUI_CHECKBOX_SYMBOL,
@@ -2097,12 +2006,12 @@ const VCheckbox = vue.defineComponent({
2097
2006
  });
2098
2007
  const control = useControl(props);
2099
2008
  const isIndeterminate = vue.computed(() => props.indeterminate);
2100
- return { ...nodeControl.expose(),
2009
+ return {
2010
+ ...nodeControl.expose(),
2101
2011
  ...control,
2102
2012
  isIndeterminate
2103
2013
  };
2104
2014
  },
2105
-
2106
2015
  render() {
2107
2016
  const {
2108
2017
  selectorItemControl,
@@ -2127,13 +2036,11 @@ const VCheckbox = vue.defineComponent({
2127
2036
  label: () => vueKit.renderSlotOrEmpty(this.$slots, 'default')
2128
2037
  });
2129
2038
  }
2130
-
2131
2039
  });
2132
2040
 
2133
2041
  function _isSlot$b(s) {
2134
2042
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
2135
2043
  }
2136
-
2137
2044
  const VCheckboxGroup = defineFormSelectorComponent({
2138
2045
  name: 'VCheckboxGroup',
2139
2046
  defaultMultiple: true,
@@ -2151,24 +2058,24 @@ const {
2151
2058
  props: props$6,
2152
2059
  emits: emits$6
2153
2060
  } = vueKit.createFormSelectorItemSettings();
2154
- const VRadio = vue.defineComponent({
2061
+ const VRadio = /* @__PURE__ */ vue.defineComponent({
2155
2062
  name: 'VRadio',
2156
- props: { ...props$6,
2063
+ props: {
2064
+ ...props$6,
2157
2065
  ...createControlProps()
2158
2066
  },
2159
2067
  emits: emits$6,
2160
-
2161
2068
  setup(props, ctx) {
2162
2069
  const nodeControl = vueKit.useFormSelectorItemControl(props, ctx, {
2163
2070
  nodeType: VUI_RADIO_SYMBOL,
2164
2071
  parentNodeType: VUI_RADIO_GROUP_SYMBOL
2165
2072
  });
2166
2073
  const control = useControl(props);
2167
- return { ...nodeControl.expose(),
2074
+ return {
2075
+ ...nodeControl.expose(),
2168
2076
  ...control
2169
2077
  };
2170
2078
  },
2171
-
2172
2079
  render() {
2173
2080
  const {
2174
2081
  selectorItemControl
@@ -2191,13 +2098,11 @@ const VRadio = vue.defineComponent({
2191
2098
  label: () => vueKit.renderSlotOrEmpty(this.$slots, 'default')
2192
2099
  });
2193
2100
  }
2194
-
2195
2101
  });
2196
2102
 
2197
2103
  function _isSlot$a(s) {
2198
2104
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
2199
2105
  }
2200
-
2201
2106
  const VRadioGroup = defineFormSelectorComponent({
2202
2107
  name: 'VRadioGroup',
2203
2108
  nodeType: VUI_RADIO_GROUP_SYMBOL,
@@ -2214,30 +2119,28 @@ const {
2214
2119
  props: props$5,
2215
2120
  emits: emits$5
2216
2121
  } = vueKit.createFormSelectorItemSettings();
2217
- const VSwitch = vue.defineComponent({
2122
+ const VSwitch = /* @__PURE__ */ vue.defineComponent({
2218
2123
  name: 'VSwitch',
2219
- props: { ...props$5,
2124
+ props: {
2125
+ ...props$5,
2220
2126
  ...createControlProps()
2221
2127
  },
2222
2128
  emits: emits$5,
2223
-
2224
2129
  setup(props, ctx) {
2225
2130
  const nodeControl = vueKit.useFormSelectorItemControl(props, ctx, {
2226
2131
  nodeType: VUI_SWITCH_SYMBOL,
2227
2132
  parentNodeType: VUI_SWITCH_GROUP_SYMBOL
2228
2133
  });
2229
2134
  const control = useControl(props);
2230
-
2231
2135
  if (typeof window !== 'undefined') {
2232
2136
  window.yy = {};
2233
2137
  window.yy[String(Date.now())] = nodeControl;
2234
2138
  }
2235
-
2236
- return { ...nodeControl.expose(),
2139
+ return {
2140
+ ...nodeControl.expose(),
2237
2141
  ...control
2238
2142
  };
2239
2143
  },
2240
-
2241
2144
  render() {
2242
2145
  const {
2243
2146
  selectorItemControl
@@ -2264,13 +2167,11 @@ const VSwitch = vue.defineComponent({
2264
2167
  label: () => vueKit.renderSlotOrEmpty(this.$slots, 'default')
2265
2168
  });
2266
2169
  }
2267
-
2268
2170
  });
2269
2171
 
2270
2172
  function _isSlot$9(s) {
2271
2173
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
2272
2174
  }
2273
-
2274
2175
  const VSwitchGroup = defineFormSelectorComponent({
2275
2176
  name: 'VSwitchGroup',
2276
2177
  defaultMultiple: true,
@@ -2288,13 +2189,13 @@ const {
2288
2189
  props: props$4,
2289
2190
  emits: emits$4
2290
2191
  } = vueKit.createFormSelectorItemSettings();
2291
- const VOption = vue.defineComponent({
2192
+ const VOption = /* @__PURE__ */ vue.defineComponent({
2292
2193
  name: 'VOption',
2293
- props: { ...props$4,
2194
+ props: {
2195
+ ...props$4,
2294
2196
  ...createControlProps()
2295
2197
  },
2296
2198
  emits: emits$4,
2297
-
2298
2199
  setup(props, ctx) {
2299
2200
  const nodeControl = vueKit.useFormSelectorItemControl(props, ctx, {
2300
2201
  nodeType: VUI_OPTION_SYMBOL,
@@ -2308,11 +2209,11 @@ const VOption = vue.defineComponent({
2308
2209
  'v-option--disabled': nodeControl.isDisabled
2309
2210
  }, control.classes.value];
2310
2211
  });
2311
- return { ...nodeControl.expose(),
2212
+ return {
2213
+ ...nodeControl.expose(),
2312
2214
  classes
2313
2215
  };
2314
2216
  },
2315
-
2316
2217
  render() {
2317
2218
  const {
2318
2219
  selectorItemControl,
@@ -2329,17 +2230,16 @@ const VOption = vue.defineComponent({
2329
2230
  "class": "v-option__label"
2330
2231
  }, [vueKit.renderSlotOrEmpty(this.$slots, 'default')])]);
2331
2232
  }
2332
-
2333
2233
  });
2334
2234
 
2335
- const VOptionGroup = vue.defineComponent({
2235
+ const VOptionGroup = /* @__PURE__ */ vue.defineComponent({
2336
2236
  name: 'VOptionGroup',
2337
- props: { ...vueKit.createFormSelectorItemGroupProps(),
2237
+ props: {
2238
+ ...vueKit.createFormSelectorItemGroupProps(),
2338
2239
  // eslint-disable-next-line vue/require-prop-types
2339
2240
  label: {},
2340
2241
  ...vueKit.defineSlotsProps()
2341
2242
  },
2342
-
2343
2243
  setup(props, ctx) {
2344
2244
  const groupControl = vueKit.useFormSelectorItemGroupControl(props, ctx, {
2345
2245
  parentNodeType: VUI_SELECT_SYMBOL
@@ -2352,12 +2252,12 @@ const VOptionGroup = vue.defineComponent({
2352
2252
  'v-option-group--disabled': groupControl.isDisabled
2353
2253
  }];
2354
2254
  });
2355
- return { ...groupControl.expose(),
2255
+ return {
2256
+ ...groupControl.expose(),
2356
2257
  classes,
2357
2258
  labelSlot
2358
2259
  };
2359
2260
  },
2360
-
2361
2261
  render() {
2362
2262
  const {
2363
2263
  labelSlot,
@@ -2371,12 +2271,12 @@ const VOptionGroup = vue.defineComponent({
2371
2271
  "class": "v-option-group__label"
2372
2272
  }, [label]), vueKit.renderSlotOrEmpty(this.$slots, 'default')]);
2373
2273
  }
2374
-
2375
2274
  });
2376
2275
 
2377
2276
  const ADORNMENT_POSITIONS = ['start', 'end'];
2378
2277
  function createControlFieldProps() {
2379
- return { ...vueKit.createPropsOptions({
2278
+ return {
2279
+ ...vueKit.createPropsOptions({
2380
2280
  startAdornment: {},
2381
2281
  endAdornment: {},
2382
2282
  tabindex: {
@@ -2388,9 +2288,10 @@ function createControlFieldProps() {
2388
2288
  ...createControlProps()
2389
2289
  };
2390
2290
  }
2391
- const VControlField = vue.defineComponent({
2291
+ const VControlField = /* @__PURE__ */ vue.defineComponent({
2392
2292
  name: 'VControlField',
2393
- props: { ...createControlFieldProps(),
2293
+ props: {
2294
+ ...createControlFieldProps(),
2394
2295
  focused: Boolean,
2395
2296
  autoHeight: Boolean,
2396
2297
  ...vueKit.defineSlotsProps(),
@@ -2400,7 +2301,6 @@ const VControlField = vue.defineComponent({
2400
2301
  emits: {
2401
2302
  click: ev => true
2402
2303
  },
2403
-
2404
2304
  setup(props, ctx) {
2405
2305
  const parentNode = vueKit.useParentFormNode();
2406
2306
  const control = useControl(props);
@@ -2409,11 +2309,11 @@ const VControlField = vue.defineComponent({
2409
2309
  const disabled = vue.computed(() => !!parentNode && parentNode.isDisabled);
2410
2310
  const invalid = vue.computed(() => !!parentNode && parentNode.invalid);
2411
2311
  const autoHeight = vue.computed(() => props.autoHeight);
2412
- const readonly = vue.computed(() => !!parentNode && parentNode.isReadonly); // const computedTabindex = computed(() =>
2312
+ const readonly = vue.computed(() => !!parentNode && parentNode.isReadonly);
2313
+ // const computedTabindex = computed(() =>
2413
2314
  // disabled.value ? -1 : props.tabindex,
2414
2315
  // );
2415
2316
  // const isOutlined = computed(() => inputBox.variant.value === 'outlined');
2416
-
2417
2317
  const colorProvider = useVuiColorProvider();
2418
2318
  const classes = vue.computed(() => {
2419
2319
  const classes = ['v-control-field', `v-control-field--${inputBox.variant.value}`, {
@@ -2433,10 +2333,8 @@ const VControlField = vue.defineComponent({
2433
2333
  });
2434
2334
  return slots;
2435
2335
  });
2436
-
2437
2336
  const renderAdornment = position => {
2438
2337
  let child;
2439
-
2440
2338
  if (position === 'end' && props.loading) {
2441
2339
  child = vue.createVNode(vueLoading.VProgressCircular, {
2442
2340
  "indeterminate": true,
@@ -2445,15 +2343,14 @@ const VControlField = vue.defineComponent({
2445
2343
  } else {
2446
2344
  child = vueKit.renderSlotOrEmpty(resolvedSlots.value, position);
2447
2345
  }
2448
-
2449
2346
  if (!child) return;
2450
2347
  return vue.createVNode("div", {
2451
2348
  "class": ['v-control-field__adornment', `v-control-field__adornment--${position}`]
2452
2349
  }, [child]);
2453
2350
  };
2454
-
2455
2351
  const handleClick = ev => {
2456
- ctx.emit('click', ev); // if (ev.target === hostElRef.value) {
2352
+ ctx.emit('click', ev);
2353
+ // if (ev.target === hostElRef.value) {
2457
2354
  // ctx.emit('clickHost', ev);
2458
2355
  // }
2459
2356
  };
@@ -2462,8 +2359,8 @@ const VControlField = vue.defineComponent({
2462
2359
  classes,
2463
2360
  renderAdornment,
2464
2361
  hostElRef: () => hostElRef,
2465
- handleClick // computedTabindex,
2466
-
2362
+ handleClick
2363
+ // computedTabindex,
2467
2364
  };
2468
2365
  },
2469
2366
 
@@ -2476,23 +2373,22 @@ const VControlField = vue.defineComponent({
2476
2373
  "class": "v-control-field__body"
2477
2374
  }, [vueKit.renderSlotOrEmpty(this.$slots, 'default')]), this.renderAdornment('end')]);
2478
2375
  }
2479
-
2480
2376
  });
2481
2377
 
2482
2378
  function _isSlot$8(s) {
2483
2379
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
2484
2380
  }
2485
-
2486
- const ARROW_KEY_TYPES = vueKit.useKeybord.Key(['ArrowUp', 'ArrowDown']);
2487
- const CHOICE_KEY_TYPES = vueKit.useKeybord.Key(['Enter', ' ']);
2488
- const KEYBORD_EVENT_TYPES = vueKit.useKeybord.Key([...ARROW_KEY_TYPES, ...CHOICE_KEY_TYPES]);
2381
+ const ARROW_KEY_TYPES = vueKit.useKeyboard.Key(['ArrowUp', 'ArrowDown']);
2382
+ const CHOICE_KEY_TYPES = vueKit.useKeyboard.Key(['Enter', ' ']);
2383
+ const KEYBORD_EVENT_TYPES = vueKit.useKeyboard.Key([...ARROW_KEY_TYPES, ...CHOICE_KEY_TYPES]);
2489
2384
  const {
2490
2385
  props: props$3,
2491
2386
  emits: emits$3
2492
2387
  } = vueKit.createFormSelectorSettings();
2493
- const VSelect = vue.defineComponent({
2388
+ const VSelect = /* @__PURE__ */ vue.defineComponent({
2494
2389
  name: 'VSelect',
2495
- props: { ...props$3,
2390
+ props: {
2391
+ ...props$3,
2496
2392
  ...vueKit.createFormControlProps(),
2497
2393
  ...createControlFieldProps(),
2498
2394
  ...createControlFieldProviderProps(),
@@ -2502,22 +2398,19 @@ const VSelect = vue.defineComponent({
2502
2398
  placeholder: String,
2503
2399
  loadingMessage: {},
2504
2400
  failedToLoadItemsMessage: {}
2505
- })
2401
+ }),
2402
+ closeOnNavigation: Boolean
2506
2403
  },
2507
2404
  emits: emits$3,
2508
-
2509
2405
  setup(props, ctx) {
2510
2406
  const menuRef = vue.ref(null);
2511
2407
  const menuOpened = vue.ref(false);
2512
-
2513
2408
  const showMenu = () => {
2514
2409
  menuOpened.value = true;
2515
2410
  };
2516
-
2517
2411
  const closeMenu = () => {
2518
2412
  menuOpened.value = false;
2519
2413
  };
2520
-
2521
2414
  const inputControl = vueKit.useFormSelectorControl(props, ctx, {
2522
2415
  nodeType: VUI_SELECT_SYMBOL,
2523
2416
  onSelectItem: item => {
@@ -2537,14 +2430,12 @@ const VSelect = vue.defineComponent({
2537
2430
  const slot = vueKit.resolveVNodeChildOrSlots(props.failedToLoadItemsMessage, vui.setting('failedToLoadDataMessage'), 'Failed to load data.');
2538
2431
  return slot && slot(vui);
2539
2432
  });
2540
-
2541
2433
  const focus = opts => {
2542
2434
  fieldRef.value && fieldRef.value.focus(opts);
2543
2435
  };
2544
-
2545
2436
  const renderSelections = selectedItems => {
2437
+ const selectionSlot = ctx.slots.selection;
2546
2438
  const children = [];
2547
-
2548
2439
  if (inputControl.itemsLoadFailed) {
2549
2440
  children.push(vue.createVNode("span", {
2550
2441
  "class": "v-select__placeholder"
@@ -2558,18 +2449,19 @@ const VSelect = vue.defineComponent({
2558
2449
  if (index > 0) {
2559
2450
  children.push(vui.selectionSeparator());
2560
2451
  }
2561
-
2562
- children.push(item.renderDefaultSlot());
2452
+ const child = selectionSlot ? selectionSlot({
2453
+ item,
2454
+ index
2455
+ }) : item.renderDefaultSlot();
2456
+ children.push(child);
2563
2457
  });
2564
2458
  } else if (props.placeholder != null) {
2565
2459
  children.push(vue.createVNode("span", {
2566
2460
  "class": "v-select__placeholder"
2567
2461
  }, [props.placeholder]));
2568
2462
  }
2569
-
2570
2463
  return children;
2571
2464
  };
2572
-
2573
2465
  const clearKeyFocused = () => {
2574
2466
  const menu = menuRef.value;
2575
2467
  if (!menu) return;
@@ -2578,7 +2470,6 @@ const VSelect = vue.defineComponent({
2578
2470
  const els = Array.from(bodyEl.querySelectorAll('.v-option'));
2579
2471
  els.forEach(el => el.classList.remove('v-option--key-focused'));
2580
2472
  };
2581
-
2582
2473
  const getItemElements = () => {
2583
2474
  const menu = menuRef.value;
2584
2475
  if (!menu) return;
@@ -2594,7 +2485,6 @@ const VSelect = vue.defineComponent({
2594
2485
  if (!els.length) return;
2595
2486
  return els;
2596
2487
  };
2597
-
2598
2488
  const arrowKeyHandler = ev => {
2599
2489
  const {
2600
2490
  key
@@ -2609,22 +2499,18 @@ const VSelect = vue.defineComponent({
2609
2499
  length
2610
2500
  } = els;
2611
2501
  const isUp = key === 'ArrowUp';
2612
-
2613
2502
  if (currentIndex == null) {
2614
2503
  nextIndex = isUp ? length - 1 : 0;
2615
2504
  } else {
2616
2505
  const shiftAmount = key === 'ArrowUp' ? -1 : 1;
2617
2506
  nextIndex = currentIndex + shiftAmount;
2618
-
2619
2507
  if (nextIndex < 0) {
2620
2508
  nextIndex = length - 1;
2621
2509
  } else if (nextIndex >= length) {
2622
2510
  nextIndex = 0;
2623
2511
  }
2624
2512
  }
2625
-
2626
2513
  const nextEl = els[nextIndex];
2627
-
2628
2514
  if (nextEl) {
2629
2515
  clearKeyFocused();
2630
2516
  nextEl.classList.add('v-option--key-focused');
@@ -2636,7 +2522,6 @@ const VSelect = vue.defineComponent({
2636
2522
  ev.preventDefault();
2637
2523
  }
2638
2524
  };
2639
-
2640
2525
  const choiceKeyHandler = ev => {
2641
2526
  const {
2642
2527
  key
@@ -2645,7 +2530,6 @@ const VSelect = vue.defineComponent({
2645
2530
  const els = getItemElements();
2646
2531
  if (!els) return;
2647
2532
  const currentEl = els.find(el => el.classList.contains('v-option--key-focused'));
2648
-
2649
2533
  if (currentEl) {
2650
2534
  const ev = new MouseEvent('click', {
2651
2535
  view: window,
@@ -2659,19 +2543,18 @@ const VSelect = vue.defineComponent({
2659
2543
  });
2660
2544
  }
2661
2545
  };
2662
-
2663
- const keybordEventHandler = ev => {
2546
+ const keyboardEventHandler = ev => {
2664
2547
  if (ARROW_KEY_TYPES.includes(ev.key)) return arrowKeyHandler(ev);
2665
2548
  if (CHOICE_KEY_TYPES.includes(ev.key)) return choiceKeyHandler(ev);
2666
2549
  };
2667
-
2668
- vueKit.useKeybord([{
2550
+ vueKit.useKeyboard([{
2669
2551
  key: KEYBORD_EVENT_TYPES,
2670
- handler: keybordEventHandler
2552
+ handler: keyboardEventHandler
2671
2553
  }], {
2672
2554
  autorun: true
2673
2555
  });
2674
- return { ...inputControl.expose(),
2556
+ return {
2557
+ ...inputControl.expose(),
2675
2558
  ...control,
2676
2559
  iconName,
2677
2560
  menuOpened,
@@ -2684,7 +2567,6 @@ const VSelect = vue.defineComponent({
2684
2567
  clearKeyFocused
2685
2568
  };
2686
2569
  },
2687
-
2688
2570
  render() {
2689
2571
  const {
2690
2572
  nodeControl,
@@ -2695,7 +2577,6 @@ const VSelect = vue.defineComponent({
2695
2577
  const children = this.$slots.default && this.$slots.default() || [];
2696
2578
  const propGroups = this.propGroups.map(group => {
2697
2579
  let _slot;
2698
-
2699
2580
  return vue.createVNode(VOptionGroup, {
2700
2581
  "key": group.id,
2701
2582
  "groupId": group.id,
@@ -2724,10 +2605,12 @@ const VSelect = vue.defineComponent({
2724
2605
  "onClickLabel": ev => {
2725
2606
  this.focus();
2726
2607
  }
2727
- }, { ...this.$slots,
2608
+ }, {
2609
+ ...this.$slots,
2728
2610
  default: () => vue.createVNode(vueKit.VMenu, {
2729
2611
  "width": "fit",
2730
2612
  "maxWidth": "fit",
2613
+ "closeOnNavigation": this.closeOnNavigation,
2731
2614
  "distance": 0,
2732
2615
  "alwaysRender": true,
2733
2616
  "modelValue": this.menuOpened,
@@ -2756,20 +2639,18 @@ const VSelect = vue.defineComponent({
2756
2639
  let t = ev.target;
2757
2640
  const count = 0;
2758
2641
  let hit = false;
2759
-
2760
2642
  while (count < 5) {
2761
2643
  if (t.classList.contains('v-select__input')) {
2762
2644
  hit = true;
2763
2645
  break;
2764
2646
  }
2765
-
2766
2647
  t = t.parentElement;
2767
2648
  }
2768
-
2769
2649
  control.show(hit ? t : ev);
2770
2650
  }
2771
2651
  }
2772
- }, { ...this.$slots,
2652
+ }, {
2653
+ ...this.$slots,
2773
2654
  default: () => [vue.withDirectives(vue.createVNode("select", {
2774
2655
  "class": "v-select__input__element",
2775
2656
  "name": this.name,
@@ -2801,7 +2682,6 @@ const VSelect = vue.defineComponent({
2801
2682
  }
2802
2683
  }, null);
2803
2684
  }
2804
-
2805
2685
  if (this.clearable && this.nodeControl.value != null) {
2806
2686
  return vue.createVNode(VButton, {
2807
2687
  "key": "clear",
@@ -2813,7 +2693,6 @@ const VSelect = vue.defineComponent({
2813
2693
  }
2814
2694
  }, null);
2815
2695
  }
2816
-
2817
2696
  return vue.createVNode(VIcon, {
2818
2697
  "key": "icon",
2819
2698
  "name": this.iconName,
@@ -2824,10 +2703,9 @@ const VSelect = vue.defineComponent({
2824
2703
  })
2825
2704
  });
2826
2705
  }
2827
-
2828
2706
  });
2829
2707
 
2830
- const VTextCounter = vue.defineComponent({
2708
+ const VTextCounter = /* @__PURE__ */ vue.defineComponent({
2831
2709
  name: 'VTextCounter',
2832
2710
  props: {
2833
2711
  length: {
@@ -2839,22 +2717,20 @@ const VTextCounter = vue.defineComponent({
2839
2717
  required: true
2840
2718
  }
2841
2719
  },
2842
-
2843
2720
  render() {
2844
2721
  return vue.createVNode("span", {
2845
2722
  "class": "v-text-counter"
2846
2723
  }, [`${this.length} / ${this.maxlength}`]);
2847
2724
  }
2848
-
2849
2725
  });
2850
2726
 
2851
2727
  const {
2852
2728
  props: props$2,
2853
2729
  emits: emits$2
2854
2730
  } = vueKit.createTextInputSettings();
2855
-
2856
2731
  function createTextFieldProps() {
2857
- return { ...props$2,
2732
+ return {
2733
+ ...props$2,
2858
2734
  ...vueKit.createFormControlProps(),
2859
2735
  ...createControlFieldProps(),
2860
2736
  ...createControlFieldProviderProps(),
@@ -2862,23 +2738,21 @@ function createTextFieldProps() {
2862
2738
  ...vueKit.defineSlotsProps()
2863
2739
  };
2864
2740
  }
2865
-
2866
- const VTextField = vue.defineComponent({
2741
+ const VTextField = /* @__PURE__ */ vue.defineComponent({
2867
2742
  name: 'VTextField',
2868
2743
  props: createTextFieldProps(),
2869
2744
  emits: emits$2,
2870
-
2871
2745
  setup(props, ctx) {
2872
2746
  const inputControl = vueKit.useTextInputControl(props, ctx, {
2873
2747
  nodeType: VUI_TEXT_FIELD_SYMBOL
2874
2748
  });
2875
2749
  const control = useControl(props);
2876
2750
  useControlField(props);
2877
- return { ...inputControl.expose(),
2751
+ return {
2752
+ ...inputControl.expose(),
2878
2753
  ...control
2879
2754
  };
2880
2755
  },
2881
-
2882
2756
  render() {
2883
2757
  return vue.createVNode(VFormControl, {
2884
2758
  "nodeControl": this.nodeControl,
@@ -2892,13 +2766,15 @@ const VTextField = vue.defineComponent({
2892
2766
  "onClickLabel": ev => {
2893
2767
  this.focus();
2894
2768
  }
2895
- }, { ...this.$slots,
2769
+ }, {
2770
+ ...this.$slots,
2896
2771
  default: () => vue.createVNode(VControlField, {
2897
2772
  "class": "v-text-field__input",
2898
2773
  "startAdornment": this.startAdornment,
2899
2774
  "endAdornment": this.endAdornment,
2900
2775
  "size": this.size
2901
- }, { ...this.$slots,
2776
+ }, {
2777
+ ...this.$slots,
2902
2778
  default: () => this.textInputControl.createInputElement({
2903
2779
  class: 'v-text-field__input__element'
2904
2780
  })
@@ -2912,35 +2788,33 @@ const VTextField = vue.defineComponent({
2912
2788
  }
2913
2789
  });
2914
2790
  }
2915
-
2916
2791
  });
2917
2792
 
2918
- const VNumberField = vue.defineComponent({
2793
+ const VNumberField = /* @__PURE__ */ vue.defineComponent({
2919
2794
  name: 'VNumberField',
2920
- props: { ...undefined,
2795
+ props: {
2796
+ ...undefined,
2921
2797
  modelValue: {
2922
2798
  type: Number,
2923
2799
  default: null
2924
2800
  }
2925
2801
  },
2926
- emits: { ...undefined,
2802
+ emits: {
2803
+ ...undefined,
2927
2804
  'update:modelValue': value => true,
2928
2805
  change: value => true
2929
2806
  },
2930
-
2931
2807
  setup(props, ctx) {
2932
2808
  const toString = value => {
2933
2809
  if (value == null) return '';
2934
2810
  return String(value);
2935
2811
  };
2936
-
2937
2812
  const toNumber = value => {
2938
2813
  if (value == null) return null;
2939
2814
  if (typeof value === 'number') return value;
2940
2815
  if (value.trim() === '') return null;
2941
2816
  return Number(value);
2942
2817
  };
2943
-
2944
2818
  return () => {
2945
2819
  return vue.createVNode(VTextField, vue.mergeProps(ctx.attrs, {
2946
2820
  "type": "number",
@@ -2954,16 +2828,16 @@ const VNumberField = vue.defineComponent({
2954
2828
  }), ctx.slots);
2955
2829
  };
2956
2830
  }
2957
-
2958
2831
  });
2959
2832
 
2960
2833
  const {
2961
2834
  props: props$1,
2962
2835
  emits: emits$1
2963
2836
  } = vueKit.createTextareaSettings();
2964
- const VTextarea = vue.defineComponent({
2837
+ const VTextarea = /* @__PURE__ */ vue.defineComponent({
2965
2838
  name: 'VTextarea',
2966
- props: { ...props$1,
2839
+ props: {
2840
+ ...props$1,
2967
2841
  ...vueKit.createFormControlProps(),
2968
2842
  ...createControlFieldProps(),
2969
2843
  ...createControlFieldProviderProps(),
@@ -2971,7 +2845,6 @@ const VTextarea = vue.defineComponent({
2971
2845
  ...vueKit.defineSlotsProps()
2972
2846
  },
2973
2847
  emits: emits$1,
2974
-
2975
2848
  setup(props, ctx) {
2976
2849
  const vui = useVui();
2977
2850
  const inputControl = vueKit.useTextareaControl(props, ctx, {
@@ -2980,11 +2853,11 @@ const VTextarea = vue.defineComponent({
2980
2853
  });
2981
2854
  const control = useControl(props);
2982
2855
  useControlField(props);
2983
- return { ...inputControl.expose(),
2856
+ return {
2857
+ ...inputControl.expose(),
2984
2858
  ...control
2985
2859
  };
2986
2860
  },
2987
-
2988
2861
  render() {
2989
2862
  return vue.createVNode(VFormControl, {
2990
2863
  "nodeControl": this.nodeControl,
@@ -2998,14 +2871,16 @@ const VTextarea = vue.defineComponent({
2998
2871
  "onClickLabel": ev => {
2999
2872
  this.focus();
3000
2873
  }
3001
- }, { ...this.$slots,
2874
+ }, {
2875
+ ...this.$slots,
3002
2876
  default: () => vue.createVNode(VControlField, {
3003
2877
  "class": "v-textarea__input",
3004
2878
  "size": this.size,
3005
2879
  "autoHeight": true,
3006
2880
  "startAdornment": this.startAdornment,
3007
2881
  "endAdornment": this.endAdornment
3008
- }, { ...this.$slots,
2882
+ }, {
2883
+ ...this.$slots,
3009
2884
  default: () => this.textareaControl.createInputElement({
3010
2885
  class: 'v-textarea__input__element'
3011
2886
  })
@@ -3019,7 +2894,6 @@ const VTextarea = vue.defineComponent({
3019
2894
  }
3020
2895
  });
3021
2896
  }
3022
-
3023
2897
  });
3024
2898
 
3025
2899
  const EDITOR_EVENTS = [
@@ -3141,10 +3015,10 @@ function resolveRawWysiwygEditorTools(rawTools, vui) {
3141
3015
  function _isSlot$7(s) {
3142
3016
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
3143
3017
  }
3144
-
3145
- const VWysiwygEditor = vue.defineComponent({
3018
+ const VWysiwygEditor = /* @__PURE__ */ vue.defineComponent({
3146
3019
  name: 'VWysiwygEditor',
3147
- props: { // ...props,
3020
+ props: {
3021
+ // ...props,
3148
3022
  ...vueFormControl.createTextableProps(),
3149
3023
  ...vueKit.createFormControlProps(),
3150
3024
  ...createControlFieldProps(),
@@ -3163,9 +3037,9 @@ const VWysiwygEditor = vue.defineComponent({
3163
3037
  disabledMinHeight: Boolean,
3164
3038
  disabledMaxHeight: Boolean
3165
3039
  },
3166
- emits: { ...vueFormControl.createTextableEmits()
3040
+ emits: {
3041
+ ...vueFormControl.createTextableEmits()
3167
3042
  },
3168
-
3169
3043
  setup(props, ctx) {
3170
3044
  const vui = useVui();
3171
3045
  const textRef = vue.ref('');
@@ -3201,22 +3075,21 @@ const VWysiwygEditor = vue.defineComponent({
3201
3075
  textRef.value = editor.getText();
3202
3076
  }
3203
3077
  });
3204
- const extensions = [StarterKit__default.configure({
3078
+ const extensions = [starterKit.StarterKit.configure({
3205
3079
  bold: false,
3206
3080
  bulletList: false,
3207
3081
  orderedList: false,
3208
3082
  history: false,
3209
3083
  italic: false
3210
- }), // Linter.configure({
3084
+ }),
3085
+ // Linter.configure({
3211
3086
  // plugins: [BadWords(['abc', 'evidently']), Punctuation, HeadingLevel],
3212
3087
  // }),
3213
3088
  ...resolveRawWysiwygExtensions(props.extensions, initializeCtx), ...wysiwygSettings.value.extensions];
3214
-
3215
3089
  const updateEditable = () => {
3216
3090
  if (!editor.value) return;
3217
3091
  editor.value.setEditable(inputControl.canOperation);
3218
3092
  };
3219
-
3220
3093
  vue.watch(() => inputControl.canOperation, updateEditable);
3221
3094
  vue.watch(() => props.modelValue, modelValue => {
3222
3095
  const $editor = editor.value;
@@ -3230,7 +3103,8 @@ const VWysiwygEditor = vue.defineComponent({
3230
3103
  textRef.value = editor.getText();
3231
3104
  updateEditable();
3232
3105
  });
3233
- const editor = vue3.useEditor({ ...initializeCtx.editorOptions(),
3106
+ const editor = vue3.useEditor({
3107
+ ...initializeCtx.editorOptions(),
3234
3108
  autofocus: props.autofocus,
3235
3109
  content: props.modelValue,
3236
3110
  extensions,
@@ -3239,33 +3113,29 @@ const VWysiwygEditor = vue.defineComponent({
3239
3113
  class: 'v-wysiwyg-editor__input__prose'
3240
3114
  }
3241
3115
  }
3242
- }); // editor.value.state.doc.content
3243
-
3116
+ });
3117
+ // editor.value.state.doc.content
3244
3118
  const focus = (position, options) => {
3245
3119
  if (!editor.value) return;
3246
3120
  return editor.value.chain().focus(position, options);
3247
3121
  };
3248
-
3249
3122
  const blur = () => {
3250
3123
  if (!editor.value) return;
3251
3124
  return editor.value.chain().blur();
3252
3125
  };
3253
-
3254
3126
  const wysiwygContext = vue.computed(() => {
3255
3127
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
3256
- const _editor = editor.value; // if (!_editor) {
3128
+ const _editor = editor.value;
3129
+ // if (!_editor) {
3257
3130
  // throw new Error('missing editor value');
3258
3131
  // }
3259
-
3260
3132
  return {
3261
3133
  vui,
3262
3134
  editor: _editor
3263
3135
  };
3264
3136
  });
3265
-
3266
3137
  const createTools = (bubbleMenu = false) => {
3267
3138
  let _slot;
3268
-
3269
3139
  const {
3270
3140
  value: settings
3271
3141
  } = wysiwygSettings;
@@ -3291,11 +3161,9 @@ const VWysiwygEditor = vue.defineComponent({
3291
3161
  const isDisabled = !inputControl.canOperation || !!_editor && resolveContextableValue(context, disabled);
3292
3162
  let iconName;
3293
3163
  let child;
3294
-
3295
3164
  if (typeof icon === 'function') {
3296
3165
  if (_editor) {
3297
3166
  const _child = icon(context);
3298
-
3299
3167
  if (typeof _child === 'function') {
3300
3168
  child = _child();
3301
3169
  } else {
@@ -3305,7 +3173,6 @@ const VWysiwygEditor = vue.defineComponent({
3305
3173
  } else {
3306
3174
  iconName = icon;
3307
3175
  }
3308
-
3309
3176
  if (!iconName && child == null) return;
3310
3177
  return vue.createVNode(VButton, {
3311
3178
  "tabindex": -1,
@@ -3321,7 +3188,6 @@ const VWysiwygEditor = vue.defineComponent({
3321
3188
  default: () => [_slot]
3322
3189
  });
3323
3190
  };
3324
-
3325
3191
  vue.onBeforeUnmount(() => {
3326
3192
  editor.value && editor.value.destroy();
3327
3193
  });
@@ -3334,7 +3200,6 @@ const VWysiwygEditor = vue.defineComponent({
3334
3200
  createTools
3335
3201
  };
3336
3202
  },
3337
-
3338
3203
  render() {
3339
3204
  return vue.createVNode(VFormControl, {
3340
3205
  "nodeControl": this.nodeControl,
@@ -3353,7 +3218,8 @@ const VWysiwygEditor = vue.defineComponent({
3353
3218
  scrollIntoView: true
3354
3219
  });
3355
3220
  }
3356
- }, { ...this.$slots,
3221
+ }, {
3222
+ ...this.$slots,
3357
3223
  default: () => {
3358
3224
  const {
3359
3225
  editor
@@ -3366,10 +3232,10 @@ const VWysiwygEditor = vue.defineComponent({
3366
3232
  "startAdornment": this.startAdornment,
3367
3233
  "endAdornment": this.endAdornment,
3368
3234
  "size": this.size
3369
- }, { ...this.$slots,
3235
+ }, {
3236
+ ...this.$slots,
3370
3237
  default: () => {
3371
3238
  let _slot2;
3372
-
3373
3239
  return vue.createVNode("div", {
3374
3240
  "class": "v-wysiwyg-editor__body"
3375
3241
  }, [vue.createVNode(vue3.EditorContent, vue.mergeProps({
@@ -3395,9 +3261,7 @@ const VWysiwygEditor = vue.defineComponent({
3395
3261
  }
3396
3262
  });
3397
3263
  }
3398
-
3399
3264
  });
3400
-
3401
3265
  function resolveContextableValue(ctx, source) {
3402
3266
  return typeof source === 'function' ? source(ctx) : source;
3403
3267
  }
@@ -3405,11 +3269,9 @@ function resolveContextableValue(ctx, source) {
3405
3269
  const PROBLEM_CLASS_NAME = 'v-linter__problem';
3406
3270
  const ISSUE_ICON_CLASS_NAME = 'v-linter__issue-icon';
3407
3271
  const ISSUE_DATASET_NAME = 'data-issue-id';
3408
-
3409
3272
  function resolveWysiwygLinterFixMessage(message) {
3410
3273
  return typeof message === 'function' ? message() : message;
3411
3274
  }
3412
-
3413
3275
  function renderIcon(view, issue) {
3414
3276
  const {
3415
3277
  level = 'warning'
@@ -3418,14 +3280,11 @@ function renderIcon(view, issue) {
3418
3280
  const message = resolveWysiwygLinterFixMessage(issue.message);
3419
3281
  icon.className = `${ISSUE_ICON_CLASS_NAME} ${level}-scope`;
3420
3282
  icon.setAttribute(ISSUE_DATASET_NAME, issue.id);
3421
-
3422
3283
  if (typeof message === 'string') {
3423
3284
  icon.title = message;
3424
3285
  }
3425
-
3426
3286
  return icon;
3427
3287
  }
3428
-
3429
3288
  function runAllLinterPlugins(doc, plugins) {
3430
3289
  const decorations = [];
3431
3290
  const issues = plugins.map(RegisteredLinterPlugin => {
@@ -3442,7 +3301,6 @@ function runAllLinterPlugins(doc, plugins) {
3442
3301
  'data-issue-id': issue.id,
3443
3302
  title: typeof message === 'string' ? message : undefined
3444
3303
  }));
3445
-
3446
3304
  if (icon) {
3447
3305
  decorations.push(prosemirrorView.Decoration.widget(issue.from, view => renderIcon(view, issue)));
3448
3306
  }
@@ -3453,7 +3311,6 @@ function runAllLinterPlugins(doc, plugins) {
3453
3311
  decorationSet
3454
3312
  };
3455
3313
  }
3456
-
3457
3314
  const WysiwygLinter = createWysiwygExtension(ctx => {
3458
3315
  function showMenu(view, issue, event) {
3459
3316
  const message = resolveWysiwygLinterFixMessage(issue.message);
@@ -3482,22 +3339,18 @@ const WysiwygLinter = createWysiwygExtension(ctx => {
3482
3339
  }, [resolveWysiwygLinterFixMessage(fixer.message)])])]))])])
3483
3340
  });
3484
3341
  }
3485
-
3486
3342
  return core.Extension.create({
3487
3343
  name: 'linter',
3488
-
3489
3344
  addOptions() {
3490
3345
  return {
3491
3346
  plugins: []
3492
3347
  };
3493
3348
  },
3494
-
3495
3349
  addStorage() {
3496
3350
  return {
3497
3351
  issues: []
3498
3352
  };
3499
3353
  },
3500
-
3501
3354
  addProseMirrorPlugins() {
3502
3355
  const {
3503
3356
  plugins
@@ -3505,7 +3358,6 @@ const WysiwygLinter = createWysiwygExtension(ctx => {
3505
3358
  const {
3506
3359
  storage
3507
3360
  } = this;
3508
-
3509
3361
  const runAll = doc => {
3510
3362
  const {
3511
3363
  issues,
@@ -3514,14 +3366,11 @@ const WysiwygLinter = createWysiwygExtension(ctx => {
3514
3366
  storage.issues = issues;
3515
3367
  return decorationSet;
3516
3368
  };
3517
-
3518
3369
  const getIssue = id => storage.issues.find(issue => issue.id === id);
3519
-
3520
3370
  const getIssueElementByEvent = source => {
3521
3371
  if (!source || !(source instanceof HTMLElement)) {
3522
3372
  return;
3523
3373
  }
3524
-
3525
3374
  const issueId = source.getAttribute(ISSUE_DATASET_NAME);
3526
3375
  const issue = issueId && getIssue(issueId);
3527
3376
  if (!issue) return;
@@ -3529,7 +3378,6 @@ const WysiwygLinter = createWysiwygExtension(ctx => {
3529
3378
  issue
3530
3379
  };
3531
3380
  };
3532
-
3533
3381
  const linterPlugin = new prosemirrorState.Plugin({
3534
3382
  key: new prosemirrorState.PluginKey('linter'),
3535
3383
  state: {
@@ -3538,24 +3386,19 @@ const WysiwygLinter = createWysiwygExtension(ctx => {
3538
3386
  }) {
3539
3387
  return runAll(doc);
3540
3388
  },
3541
-
3542
3389
  apply(transaction, oldState) {
3543
3390
  return transaction.docChanged ? runAll(transaction.doc) : oldState;
3544
3391
  }
3545
-
3546
3392
  },
3547
3393
  props: {
3548
3394
  decorations(state) {
3549
3395
  return linterPlugin.getState(state);
3550
3396
  },
3551
-
3552
3397
  handleClick(view, _, event) {
3553
3398
  const info = getIssueElementByEvent(event.target);
3554
-
3555
3399
  if (!info) {
3556
3400
  return false;
3557
3401
  }
3558
-
3559
3402
  const {
3560
3403
  issue
3561
3404
  } = info;
@@ -3563,19 +3406,15 @@ const WysiwygLinter = createWysiwygExtension(ctx => {
3563
3406
  from,
3564
3407
  to
3565
3408
  } = issue;
3566
-
3567
3409
  const focus = () => view.dispatch(view.state.tr.setSelection(prosemirrorState.TextSelection.create(view.state.doc, from, to)).scrollIntoView());
3568
-
3569
3410
  focus();
3570
3411
  showMenu(view, issue, event);
3571
3412
  return true;
3572
3413
  }
3573
-
3574
3414
  }
3575
3415
  });
3576
3416
  return [linterPlugin];
3577
3417
  }
3578
-
3579
3418
  });
3580
3419
  });
3581
3420
 
@@ -3638,9 +3477,7 @@ function WysiwygLinterBadWords(words) {
3638
3477
  if (!node.isText) {
3639
3478
  return;
3640
3479
  }
3641
-
3642
3480
  const matches = regex.exec(node.text);
3643
-
3644
3481
  if (matches) {
3645
3482
  const fixValue = matches[0] + '!!!!!';
3646
3483
  this.record({
@@ -3664,7 +3501,6 @@ function WysiwygLinterBadWords(words) {
3664
3501
  });
3665
3502
  return this;
3666
3503
  }
3667
-
3668
3504
  };
3669
3505
  }
3670
3506
 
@@ -3952,13 +3788,11 @@ function createWysiwygColorTool(opts) {
3952
3788
  color
3953
3789
  } = item;
3954
3790
  let command = ctx.editor.chain().focus();
3955
-
3956
3791
  if (color) {
3957
3792
  command = command.setColor(color);
3958
3793
  } else {
3959
3794
  command = command.unsetColor();
3960
3795
  }
3961
-
3962
3796
  command.run();
3963
3797
  stack.close();
3964
3798
  }
@@ -3973,11 +3807,10 @@ function createWysiwygColorTool(opts) {
3973
3807
  });
3974
3808
  },
3975
3809
  floating: true,
3976
- extensions: [TextStyle__default, WysiwygColorExtension]
3810
+ extensions: [TextStyle, WysiwygColorExtension]
3977
3811
  };
3978
3812
  return tool;
3979
3813
  };
3980
-
3981
3814
  return WysiwygColorTool;
3982
3815
  }
3983
3816
 
@@ -3988,17 +3821,18 @@ const {
3988
3821
  nodeType: VUI_FORM_SYMBOL
3989
3822
  });
3990
3823
  function createVFormProps() {
3991
- return { ...props,
3824
+ return {
3825
+ ...props,
3992
3826
  ...createControlProps(),
3993
- ...vueKit.defineSlotsProps() // disableAutoScroll: Boolean,
3994
-
3827
+ ...vueKit.defineSlotsProps()
3828
+ // disableAutoScroll: Boolean,
3995
3829
  };
3996
3830
  }
3997
- const VForm = vue.defineComponent({
3831
+
3832
+ const VForm = /* @__PURE__ */ vue.defineComponent({
3998
3833
  name: 'VForm',
3999
3834
  props: createVFormProps(),
4000
3835
  emits,
4001
-
4002
3836
  setup(props, ctx) {
4003
3837
  const vui = useVui();
4004
3838
  const nodeControl = vueKit.useForm(props, ctx, {
@@ -4021,11 +3855,11 @@ const VForm = vue.defineComponent({
4021
3855
  }];
4022
3856
  });
4023
3857
  useControl(props);
4024
- return { ...nodeControl.expose(),
3858
+ return {
3859
+ ...nodeControl.expose(),
4025
3860
  classes
4026
3861
  };
4027
3862
  },
4028
-
4029
3863
  render() {
4030
3864
  const {
4031
3865
  form
@@ -4038,14 +3872,12 @@ const VForm = vue.defineComponent({
4038
3872
  "onSubmit": form.handleSubmit
4039
3873
  }, [vueKit.renderSlotOrEmpty(this.$slots, 'default', form)]);
4040
3874
  }
4041
-
4042
3875
  });
4043
3876
 
4044
3877
  function _isSlot$6(s) {
4045
3878
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
4046
3879
  }
4047
-
4048
- const VTab = vue.defineComponent({
3880
+ const VTab = /* @__PURE__ */ vue.defineComponent({
4049
3881
  name: 'VTab',
4050
3882
  props: {
4051
3883
  value: {
@@ -4059,7 +3891,6 @@ const VTab = vue.defineComponent({
4059
3891
  emits: {
4060
3892
  click: ev => true
4061
3893
  },
4062
-
4063
3894
  setup(props, ctx) {
4064
3895
  const classesRef = vue.computed(() => ({
4065
3896
  'v-tab--active': props.active
@@ -4077,13 +3908,11 @@ const VTab = vue.defineComponent({
4077
3908
  active
4078
3909
  } = props;
4079
3910
  const classes = ['v-tab', classesRef.value];
4080
-
4081
3911
  const children = vue.createVNode("span", {
4082
3912
  "class": "v-tab__content"
4083
3913
  }, [icon && resolveRawIconProp(active, icon, {
4084
3914
  class: 'v-tab__icon'
4085
3915
  }), vueUtils.renderSlotOrEmpty(ctx.slots)]);
4086
-
4087
3916
  if (to) {
4088
3917
  const replace = typeof to === 'string' ? undefined : to.replace;
4089
3918
  return vue.createVNode(vueRouter.RouterLink, {
@@ -4105,23 +3934,21 @@ const VTab = vue.defineComponent({
4105
3934
  }
4106
3935
  };
4107
3936
  }
4108
-
4109
3937
  });
4110
3938
 
4111
3939
  function _isSlot$5(s) {
4112
3940
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
4113
3941
  }
4114
-
4115
- const VTabs = vue.defineComponent({
3942
+ const VTabs = /* @__PURE__ */ vue.defineComponent({
4116
3943
  name: 'VTabs',
4117
3944
  props: {
4118
3945
  modelValue: String,
4119
3946
  items: {
4120
3947
  type: Array,
4121
- required: true // validator: (value: VTabsItem[]) => {
3948
+ required: true
3949
+ // validator: (value: VTabsItem[]) => {
4122
3950
  // return Array.isArray(value) && value.length > 0;
4123
3951
  // },
4124
-
4125
3952
  },
4126
3953
 
4127
3954
  /**
@@ -4131,12 +3958,10 @@ const VTabs = vue.defineComponent({
4131
3958
  type: Number,
4132
3959
  default: 20
4133
3960
  },
4134
-
4135
3961
  /**
4136
3962
  * ルーター同期する場合設定する
4137
3963
  */
4138
3964
  router: Function,
4139
-
4140
3965
  /**
4141
3966
  * ルーティング連携を行う際に、クエリベースのURLマッチングを行う
4142
3967
  * タブのURLが /page1?tab=xxx のようになる時に設定する
@@ -4150,7 +3975,6 @@ const VTabs = vue.defineComponent({
4150
3975
  'update:modelValue': newValue => true,
4151
3976
  change: newValue => true
4152
3977
  },
4153
-
4154
3978
  setup(props, ctx) {
4155
3979
  const vui = useVui();
4156
3980
  const internalValueRef = vue.ref(null);
@@ -4183,7 +4007,6 @@ const VTabs = vue.defineComponent({
4183
4007
  } = item;
4184
4008
  const active = current === value;
4185
4009
  let location;
4186
-
4187
4010
  if (router) {
4188
4011
  const to = router(value);
4189
4012
  const route = vui.router.resolve(to);
@@ -4192,31 +4015,26 @@ const VTabs = vue.defineComponent({
4192
4015
  route
4193
4016
  };
4194
4017
  }
4195
-
4196
- return { ...item,
4018
+ return {
4019
+ ...item,
4197
4020
  active,
4198
4021
  location
4199
4022
  };
4200
4023
  });
4201
4024
  });
4202
-
4203
4025
  const setTabRef = ref => {
4204
4026
  tabRefs.value.push(ref);
4205
- }; // const isMountedRef = ref(false);
4206
-
4207
-
4027
+ };
4028
+ // const isMountedRef = ref(false);
4208
4029
  function setupInternalValue(routable) {
4209
4030
  let value = props.modelValue;
4210
-
4211
4031
  if (value == null || value === '') {
4212
4032
  const firstItem = props.items[0];
4213
4033
  if (!firstItem) return;
4214
4034
  value = firstItem.value;
4215
4035
  }
4216
-
4217
4036
  if (internalValueRef.value !== value) {
4218
4037
  internalValueRef.value = value;
4219
-
4220
4038
  if (routable) {
4221
4039
  const {
4222
4040
  router
@@ -4240,48 +4058,37 @@ const VTabs = vue.defineComponent({
4240
4058
  }
4241
4059
  }
4242
4060
  }
4243
-
4244
4061
  async function to(value) {
4245
4062
  const {
4246
4063
  value: currentValue
4247
4064
  } = currentRef;
4248
-
4249
4065
  if (currentValue === value) {
4250
4066
  return;
4251
4067
  }
4252
-
4253
4068
  const {
4254
4069
  onBeforeChange
4255
4070
  } = props;
4256
-
4257
4071
  if (onBeforeChange) {
4258
4072
  let result = onBeforeChange(value, currentRef.value);
4259
-
4260
4073
  if (helpers.isPromise(result)) {
4261
4074
  result = await result;
4262
4075
  }
4263
-
4264
4076
  console.log(result);
4265
-
4266
4077
  if (result === false) {
4267
4078
  return;
4268
4079
  }
4269
4080
  }
4270
-
4271
4081
  currentRef.value = value;
4272
4082
  }
4273
-
4274
4083
  function cancelScroll() {
4275
4084
  if (scrollResult) {
4276
4085
  scrollResult.cancel();
4277
4086
  scrollResult = undefined;
4278
4087
  }
4279
4088
  }
4280
-
4281
4089
  const findTab = tab => {
4282
4090
  return tabRefs.value.find(t => t.value === tab);
4283
4091
  };
4284
-
4285
4092
  function scrollToTab(tabValue) {
4286
4093
  const tab = findTab(tabValue);
4287
4094
  if (!tab) return;
@@ -4308,15 +4115,12 @@ const VTabs = vue.defineComponent({
4308
4115
  if (hiddenLeft > 0) hiddenLeft += autoScrollOffset;
4309
4116
  if (hiddenRight > 0) hiddenRight += autoScrollOffset;
4310
4117
  let scrollAmmount = 0;
4311
-
4312
4118
  if (hiddenRight > 0) {
4313
4119
  scrollAmmount = hiddenRight;
4314
4120
  }
4315
-
4316
4121
  if (hiddenLeft > 0) {
4317
4122
  scrollAmmount = -hiddenLeft;
4318
4123
  }
4319
-
4320
4124
  if (Math.abs(scrollAmmount) > 0) {
4321
4125
  cancelScroll();
4322
4126
  scrollResult = scroller.scroller.by(scrollAmmount, 0, {
@@ -4324,7 +4128,6 @@ const VTabs = vue.defineComponent({
4324
4128
  });
4325
4129
  }
4326
4130
  }
4327
-
4328
4131
  vue.watch(() => props.modelValue, () => setupInternalValue(true));
4329
4132
  vue.watch(() => props.items, () => setupInternalValue(), {
4330
4133
  deep: true
@@ -4340,7 +4143,6 @@ const VTabs = vue.defineComponent({
4340
4143
  }) => {
4341
4144
  return location && location.route.fullPath === path;
4342
4145
  });
4343
-
4344
4146
  if (hit) {
4345
4147
  currentRef.value = hit.value;
4346
4148
  }
@@ -4370,15 +4172,12 @@ const VTabs = vue.defineComponent({
4370
4172
  if (!label) {
4371
4173
  label = itemSlot;
4372
4174
  }
4373
-
4374
4175
  const children = typeof label === 'function' ? label({
4375
4176
  value,
4376
4177
  active,
4377
4178
  vui
4378
4179
  }) : label;
4379
-
4380
4180
  const _to = location && location.to || undefined;
4381
-
4382
4181
  return vue.createVNode(VTab, {
4383
4182
  "value": value,
4384
4183
  "to": _to,
@@ -4409,22 +4208,20 @@ const VTabs = vue.defineComponent({
4409
4208
  })]);
4410
4209
  };
4411
4210
  }
4412
-
4413
4211
  });
4414
4212
 
4415
4213
  function _isSlot$4(s) {
4416
4214
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
4417
4215
  }
4418
-
4419
- const VBreadcrumbs = vue.defineComponent({
4216
+ const VBreadcrumbs = /* @__PURE__ */ vue.defineComponent({
4420
4217
  name: 'VBreadcrumbs',
4421
4218
  props: {
4422
4219
  items: {
4423
4220
  type: Array,
4424
4221
  default: () => []
4425
4222
  },
4426
- divider: [String, Function] // ...defineSlotsProps<{}>(),
4427
-
4223
+ divider: [String, Function]
4224
+ // ...defineSlotsProps<{}>(),
4428
4225
  },
4429
4226
 
4430
4227
  setup(props, ctx) {
@@ -4441,33 +4238,30 @@ const VBreadcrumbs = vue.defineComponent({
4441
4238
  text
4442
4239
  } = item;
4443
4240
  const {
4444
- disabled = vui.location.match(to) || !vui.location.isAvairable(to)
4241
+ disabled = vui.location.match(to) || !vui.location.isAvailable(to)
4445
4242
  } = item;
4446
- return { ...item,
4243
+ return {
4244
+ ...item,
4447
4245
  disabled,
4448
4246
  text: typeof text === 'function' ? text(vui) : text
4449
4247
  };
4450
4248
  });
4451
4249
  });
4452
4250
  const lengthRef = vue.computed(() => computedItemsRef.value.length);
4453
-
4454
4251
  const defaultDividerSlot = () => {
4455
4252
  return [vue.createVNode("i", {
4456
4253
  "class": "v-breadcrumbs__divider__icon"
4457
4254
  }, null)];
4458
4255
  };
4459
-
4460
4256
  return () => {
4461
4257
  if (lengthRef.value < 1) return;
4462
4258
  let dividerSlot;
4463
4259
  const propDivider = props.divider;
4464
-
4465
4260
  if (propDivider) {
4466
4261
  dividerSlot = typeof propDivider === 'function' ? propDivider : () => propDivider;
4467
4262
  } else {
4468
4263
  dividerSlot = defaultDividerSlot;
4469
4264
  }
4470
-
4471
4265
  const children = [];
4472
4266
  computedItemsRef.value.forEach((item, index) => {
4473
4267
  const {
@@ -4476,10 +4270,8 @@ const VBreadcrumbs = vue.defineComponent({
4476
4270
  disabled,
4477
4271
  to
4478
4272
  } = item;
4479
-
4480
4273
  if (index > 0) {
4481
4274
  const divider = dividerSlot(vui);
4482
-
4483
4275
  if (divider) {
4484
4276
  children.push(vue.createVNode("li", {
4485
4277
  "class": "v-breadcrumbs__divider",
@@ -4487,19 +4279,15 @@ const VBreadcrumbs = vue.defineComponent({
4487
4279
  }, [divider]));
4488
4280
  }
4489
4281
  }
4490
-
4491
4282
  const myChildren = [];
4492
-
4493
4283
  if (icon) {
4494
4284
  const $icon = resolveRawIconProp(false, icon, {
4495
4285
  class: 'v-breadcrumbs__icon'
4496
4286
  });
4497
-
4498
4287
  if ($icon) {
4499
4288
  myChildren.push($icon);
4500
4289
  }
4501
4290
  }
4502
-
4503
4291
  if (text) myChildren.push(text);
4504
4292
  const itemChild = to ? vue.createVNode(vueUtils.VLink, {
4505
4293
  "class": "v-breadcrumbs__link",
@@ -4522,14 +4310,12 @@ const VBreadcrumbs = vue.defineComponent({
4522
4310
  }, [children])]);
4523
4311
  };
4524
4312
  }
4525
-
4526
4313
  });
4527
4314
 
4528
4315
  function _isSlot$3(s) {
4529
4316
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
4530
4317
  }
4531
-
4532
- const VContentSwitcher = vue.defineComponent({
4318
+ const VContentSwitcher = /* @__PURE__ */ vue.defineComponent({
4533
4319
  name: 'VContentSwitcher',
4534
4320
  props: {
4535
4321
  modelValue: String,
@@ -4542,7 +4328,6 @@ const VContentSwitcher = vue.defineComponent({
4542
4328
  emits: {
4543
4329
  'update:modelValue': modelValue => true
4544
4330
  },
4545
-
4546
4331
  setup(props, ctx) {
4547
4332
  const internalValueRef = vue.ref('');
4548
4333
  const transitionRef = vue.ref('');
@@ -4566,31 +4351,26 @@ const VContentSwitcher = vue.defineComponent({
4566
4351
  } = props;
4567
4352
  if (settings === true) settings = {};
4568
4353
  if (!settings) return;
4569
- return { ...settings
4354
+ return {
4355
+ ...settings
4570
4356
  };
4571
4357
  });
4572
-
4573
4358
  function seeTop(options) {
4574
4359
  const scoller = vueScroller.getDocumentScroller();
4575
4360
  const {
4576
4361
  value: anchor
4577
4362
  } = anchorRef;
4578
-
4579
4363
  if (anchor) {
4580
4364
  scoller.toElement(anchor, options);
4581
4365
  }
4582
4366
  }
4583
-
4584
4367
  function getEl() {
4585
4368
  const el = elRef.value;
4586
-
4587
4369
  if (!el) {
4588
4370
  throw new Error('missing element');
4589
4371
  }
4590
-
4591
4372
  return el;
4592
4373
  }
4593
-
4594
4374
  vue.watch(() => props.modelValue, (value, beforeValue) => {
4595
4375
  if (value == null) return;
4596
4376
  internalValueRef.value = value;
@@ -4599,19 +4379,16 @@ const VContentSwitcher = vue.defineComponent({
4599
4379
  const index = order.indexOf(value);
4600
4380
  const beforeIndex = order.indexOf(beforeValue);
4601
4381
  let transition = 'fade';
4602
-
4603
4382
  if (index !== -1 && beforeIndex !== -1) {
4604
4383
  if (index > beforeIndex) transition = 'v-content-switcher-next';
4605
4384
  if (index < beforeIndex) transition = 'v-content-switcher-prev';
4606
4385
  }
4607
-
4608
4386
  transitionRef.value = transition;
4609
4387
  }, {
4610
4388
  immediate: true
4611
4389
  });
4612
4390
  vue.watch(currentRef, () => {
4613
4391
  const autotopSettings = autotopSettingsRef.value;
4614
-
4615
4392
  if (autotopSettings && props.modelValue != null) {
4616
4393
  seeTop(autotopSettings);
4617
4394
  }
@@ -4620,14 +4397,12 @@ const VContentSwitcher = vue.defineComponent({
4620
4397
  const current = currentRef.value;
4621
4398
  const children = vueUtils.renderSlotOrEmpty(ctx.slots) || [];
4622
4399
  const currentSlot = ctx.slots[current];
4623
-
4624
4400
  if (currentSlot) {
4625
4401
  children.push(vue.createVNode("div", {
4626
4402
  "class": "v-content-switcher__content",
4627
4403
  "key": current
4628
4404
  }, [currentSlot(this)]));
4629
4405
  }
4630
-
4631
4406
  return vue.createVNode("div", {
4632
4407
  "class": "v-content-switcher",
4633
4408
  "ref": elRef
@@ -4656,7 +4431,6 @@ const VContentSwitcher = vue.defineComponent({
4656
4431
  })]);
4657
4432
  };
4658
4433
  }
4659
-
4660
4434
  });
4661
4435
 
4662
4436
  const DATA_TABLE_DEFAULTS = {
@@ -4675,13 +4449,12 @@ const DATA_TABLE_DEFAULTS = {
4675
4449
  };
4676
4450
  function configureDataTableDefaults(defaults) {
4677
4451
  Object.assign(DATA_TABLE_DEFAULTS, defaults);
4678
-
4679
4452
  if (!defaults.defaultOrder && defaults.ascQueryValue) {
4680
4453
  DATA_TABLE_DEFAULTS.defaultOrder = defaults.ascQueryValue;
4681
4454
  }
4682
4455
  }
4683
4456
  const SELECTABLE_HEADER_SYMBOL = '__selectable_header__';
4684
- const VDataTable = vue.defineComponent({
4457
+ const VDataTable = /* @__PURE__ */ vue.defineComponent({
4685
4458
  name: 'VDataTable',
4686
4459
  props: {
4687
4460
  /** 選択中のkeyの配列 */
@@ -4693,7 +4466,6 @@ const VDataTable = vue.defineComponent({
4693
4466
  type: String,
4694
4467
  default: () => DATA_TABLE_DEFAULTS.itemKey
4695
4468
  },
4696
-
4697
4469
  /**
4698
4470
  * ページネーションクエリ名
4699
4471
  */
@@ -4701,7 +4473,6 @@ const VDataTable = vue.defineComponent({
4701
4473
  type: String,
4702
4474
  default: () => DATA_TABLE_DEFAULTS.pageQuery
4703
4475
  },
4704
-
4705
4476
  /**
4706
4477
  * ソートクエリ名
4707
4478
  */
@@ -4709,7 +4480,6 @@ const VDataTable = vue.defineComponent({
4709
4480
  type: String,
4710
4481
  default: () => DATA_TABLE_DEFAULTS.sortQuery
4711
4482
  },
4712
-
4713
4483
  /**
4714
4484
  * 表示順クエリ名
4715
4485
  */
@@ -4717,7 +4487,6 @@ const VDataTable = vue.defineComponent({
4717
4487
  type: String,
4718
4488
  default: () => DATA_TABLE_DEFAULTS.orderQuery
4719
4489
  },
4720
-
4721
4490
  /**
4722
4491
  * 検索クエリ名
4723
4492
  */
@@ -4725,7 +4494,6 @@ const VDataTable = vue.defineComponent({
4725
4494
  type: [String, Array],
4726
4495
  default: () => DATA_TABLE_DEFAULTS.searchQuery
4727
4496
  },
4728
-
4729
4497
  /**
4730
4498
  * リミット件数クエリ名
4731
4499
  */
@@ -4780,7 +4548,6 @@ const VDataTable = vue.defineComponent({
4780
4548
  emits: {
4781
4549
  input: selecteds => true
4782
4550
  },
4783
-
4784
4551
  setup(props, ctx) {
4785
4552
  const vui = useVui();
4786
4553
  const bootedRef = vue.ref(false);
@@ -4794,13 +4561,11 @@ const VDataTable = vue.defineComponent({
4794
4561
  selectable
4795
4562
  } = props;
4796
4563
  const ret = [];
4797
-
4798
4564
  if (selectable) {
4799
4565
  ret.push({
4800
4566
  key: SELECTABLE_HEADER_SYMBOL
4801
4567
  });
4802
4568
  }
4803
-
4804
4569
  ret.push(...headers.filter(h => !h.hidden));
4805
4570
  return ret;
4806
4571
  });
@@ -4808,34 +4573,27 @@ const VDataTable = vue.defineComponent({
4808
4573
  let {
4809
4574
  searchQuery
4810
4575
  } = props;
4811
-
4812
4576
  if (!searchQuery) {
4813
4577
  return [];
4814
4578
  }
4815
-
4816
4579
  if (!Array.isArray(searchQuery)) {
4817
4580
  searchQuery = [searchQuery];
4818
4581
  }
4819
-
4820
4582
  const values = [];
4821
4583
  searchQuery.forEach(query => {
4822
4584
  const value = vui.location.getQuery(query);
4823
-
4824
4585
  if (value == null || value === '') {
4825
4586
  return;
4826
4587
  }
4827
-
4828
4588
  if (typeof value === 'object' && !Object.keys(value).length) {
4829
4589
  return;
4830
4590
  }
4831
-
4832
4591
  values.push(value);
4833
4592
  });
4834
4593
  return values;
4835
4594
  });
4836
4595
  const emptyMessage = vue.computed(() => {
4837
4596
  let message;
4838
-
4839
4597
  if (searchQueryValues.value.length) {
4840
4598
  message = props.noResultsMessage || vui.setting('noResultsMessage') || 'No search results found.'; // 検索結果が見つかりませんでした。
4841
4599
  } else {
@@ -4855,13 +4613,10 @@ const VDataTable = vue.defineComponent({
4855
4613
  maxHeight
4856
4614
  } = props;
4857
4615
  const footerHeight = footerHeightRef.value;
4858
-
4859
4616
  const _maxHeight = maxHeight || (fixedHeader ? '100%' : maxHeight);
4860
-
4861
4617
  if (!_maxHeight) {
4862
4618
  return;
4863
4619
  }
4864
-
4865
4620
  return {
4866
4621
  maxHeight: layout.calicurateViewHeight(_maxHeight, -footerHeight - 100, 200)
4867
4622
  };
@@ -4876,35 +4631,29 @@ const VDataTable = vue.defineComponent({
4876
4631
  get: () => {
4877
4632
  return vui.location.getQuery(props.sortQuery);
4878
4633
  },
4879
-
4880
4634
  set(value) {
4881
4635
  vui.location.pushQuery({
4882
4636
  [props.sortQuery]: value || null,
4883
4637
  [props.pageQuery]: 1
4884
4638
  });
4885
4639
  }
4886
-
4887
4640
  });
4888
4641
  const ordersRef = vue.computed(() => [props.ascQueryValue, props.descQueryValue]);
4889
4642
  const usePaigingRef = vue.computed(() => props.limits.length > 0);
4890
4643
  const orderByRef = vue.computed({
4891
4644
  get: () => {
4892
4645
  const value = vui.location.getQuery(props.orderQuery);
4893
-
4894
4646
  if (typeof value !== 'string' || !ordersRef.value.includes(value)) {
4895
4647
  return;
4896
4648
  }
4897
-
4898
4649
  return value;
4899
4650
  },
4900
-
4901
4651
  set(value) {
4902
4652
  vui.location.pushQuery({
4903
4653
  [props.orderQuery]: value || null,
4904
4654
  [props.pageQuery]: 1
4905
4655
  });
4906
4656
  }
4907
-
4908
4657
  });
4909
4658
  const offsetRef = vue.computed(() => (pageRef.value - 1) * limitRef.value);
4910
4659
  const limitRef = vue.computed({
@@ -4926,14 +4675,12 @@ const VDataTable = vue.defineComponent({
4926
4675
  return Math.ceil(total / _limit);
4927
4676
  });
4928
4677
  const lengthRef = vue.computed(() => props.items.length);
4929
- const isASCRef = vue.computed(() => orderByRef.value === props.ascQueryValue); // const isDESCRef = computed(() => orderByRef.value === props.descQueryValue);
4930
-
4678
+ const isASCRef = vue.computed(() => orderByRef.value === props.ascQueryValue);
4679
+ // const isDESCRef = computed(() => orderByRef.value === props.descQueryValue);
4931
4680
  const sortIconRef = vue.computed(() => {
4932
4681
  let icon = vui.icon('sort');
4933
-
4934
4682
  if (typeof icon === 'string') {
4935
4683
  const name = icon;
4936
-
4937
4684
  icon = gen => {
4938
4685
  return gen({
4939
4686
  name,
@@ -4941,7 +4688,6 @@ const VDataTable = vue.defineComponent({
4941
4688
  });
4942
4689
  };
4943
4690
  }
4944
-
4945
4691
  return icon;
4946
4692
  });
4947
4693
  const isIndeterminateRef = vue.computed(() => {
@@ -4951,7 +4697,6 @@ const VDataTable = vue.defineComponent({
4951
4697
  return length > 0 && length < sortedItemKeysRef.value.length;
4952
4698
  });
4953
4699
  const isAllSelectedRef = vue.computed(() => internalValues.value.length === sortedItemKeysRef.value.length);
4954
-
4955
4700
  function setSort(settings) {
4956
4701
  const {
4957
4702
  sort,
@@ -4959,30 +4704,27 @@ const VDataTable = vue.defineComponent({
4959
4704
  } = settings;
4960
4705
  if ((sort === undefined || sortByRef.value === sort) && (order === undefined || orderByRef.value === order)) return;
4961
4706
  const queries = {};
4962
-
4963
4707
  if (sort) {
4964
4708
  queries[props.sortQuery] = sort;
4965
4709
  }
4966
-
4967
4710
  if (order) {
4968
4711
  queries[props.orderQuery] = order;
4969
4712
  }
4970
-
4971
- vui.location.pushQuery({ ...queries,
4972
- [props.pageQuery]: 1
4713
+ vui.location.pushQuery({
4714
+ ...queries,
4715
+ ...(usePaigingRef.value ? {
4716
+ [props.pageQuery]: 1
4717
+ } : undefined)
4973
4718
  });
4974
4719
  }
4975
-
4976
4720
  function toggleOrderBy() {
4977
4721
  return setSort({
4978
4722
  order: orderByRef.value === props.ascQueryValue ? props.descQueryValue : props.ascQueryValue
4979
4723
  });
4980
4724
  }
4981
-
4982
4725
  function isSelected(key) {
4983
4726
  return internalValues.value.includes(key);
4984
4727
  }
4985
-
4986
4728
  function select(key) {
4987
4729
  if (!internalValues.value.includes(key)) {
4988
4730
  const values = internalValues.value.slice();
@@ -4999,7 +4741,6 @@ const VDataTable = vue.defineComponent({
4999
4741
  ctx.emit('input', values);
5000
4742
  }
5001
4743
  }
5002
-
5003
4744
  function selectAll() {
5004
4745
  if (!isAllSelectedRef.value) {
5005
4746
  const values = sortedItemKeysRef.value.slice();
@@ -5007,7 +4748,6 @@ const VDataTable = vue.defineComponent({
5007
4748
  ctx.emit('input', values);
5008
4749
  }
5009
4750
  }
5010
-
5011
4751
  function deselectAll() {
5012
4752
  if (internalValues.value.length) {
5013
4753
  const values = [];
@@ -5015,34 +4755,28 @@ const VDataTable = vue.defineComponent({
5015
4755
  ctx.emit('input', values);
5016
4756
  }
5017
4757
  }
5018
-
5019
4758
  function deselect(key) {
5020
4759
  const values = internalValues.value.slice();
5021
4760
  const index = values.indexOf(key);
5022
-
5023
4761
  if (index !== -1) {
5024
4762
  values.splice(index, 1);
5025
4763
  internalValues.value = values;
5026
4764
  ctx.emit('input', values);
5027
4765
  }
5028
4766
  }
5029
-
5030
4767
  function handleClickSortHeader(header, ev) {
5031
4768
  const {
5032
4769
  sortQuery
5033
4770
  } = header;
5034
4771
  if (!sortQuery) return;
5035
-
5036
4772
  if (sortByRef.value === sortQuery) {
5037
4773
  return toggleOrderBy();
5038
4774
  }
5039
-
5040
4775
  return setSort({
5041
4776
  sort: sortQuery,
5042
4777
  order: defaultOrderQueryRef.value
5043
4778
  });
5044
4779
  }
5045
-
5046
4780
  function genPagination() {
5047
4781
  return vue.createVNode(VPagination, {
5048
4782
  "class": "v-data-table__pagination",
@@ -5053,7 +4787,6 @@ const VDataTable = vue.defineComponent({
5053
4787
  "length": pageLengthRef.value
5054
4788
  }, null);
5055
4789
  }
5056
-
5057
4790
  function genControls() {
5058
4791
  const {
5059
4792
  total
@@ -5087,7 +4820,6 @@ const VDataTable = vue.defineComponent({
5087
4820
  "class": "v-data-table__controls__pagination"
5088
4821
  }, [genPagination()])]);
5089
4822
  }
5090
-
5091
4823
  function genTableHeader() {
5092
4824
  const sortBy = sortByRef.value;
5093
4825
  const isIndeterminate = isIndeterminateRef.value;
@@ -5096,7 +4828,7 @@ const VDataTable = vue.defineComponent({
5096
4828
  defaultOrder,
5097
4829
  ascQueryValue
5098
4830
  } = props;
5099
- const usePaiging = usePaigingRef.value;
4831
+ // const usePaiging = usePaigingRef.value;
5100
4832
  const children = headersRef.value.map(header => {
5101
4833
  const {
5102
4834
  label,
@@ -5105,17 +4837,13 @@ const VDataTable = vue.defineComponent({
5105
4837
  key
5106
4838
  } = header;
5107
4839
  const headerChildren = [];
5108
-
5109
4840
  if (label != null && typeof label !== 'boolean') {
5110
4841
  let _children = typeof label === 'function' ? label(vui) : label;
5111
-
5112
4842
  if (_children && !Array.isArray(_children) && typeof _children === 'object') {
5113
4843
  _children = JSON.stringify(_children);
5114
4844
  }
5115
-
5116
4845
  headerChildren.push(_children);
5117
4846
  }
5118
-
5119
4847
  if (key === SELECTABLE_HEADER_SYMBOL) {
5120
4848
  headerChildren.push(vue.createVNode(VCheckbox, {
5121
4849
  "modelValue": isAllSelected,
@@ -5128,14 +4856,12 @@ const VDataTable = vue.defineComponent({
5128
4856
  }
5129
4857
  }
5130
4858
  }, null));
5131
- } // if (key === DELETOR_HEADER_SYMBOL) {
4859
+ }
4860
+ // if (key === DELETOR_HEADER_SYMBOL) {
5132
4861
  // headerChildren.push('削除');
5133
4862
  // }
5134
-
5135
-
5136
4863
  const sortActive = sortBy === sortQuery;
5137
-
5138
- if (sortQuery && usePaiging) {
4864
+ if (sortQuery) {
5139
4865
  const isASC = sortActive ? isASCRef.value : defaultOrder === ascQueryValue;
5140
4866
  headerChildren.unshift(vue.createVNode(VIcon, {
5141
4867
  "class": "v-data-table__table__sort-icon v-data-table__table__sort-icon--empty",
@@ -5148,21 +4874,18 @@ const VDataTable = vue.defineComponent({
5148
4874
  }]
5149
4875
  }));
5150
4876
  }
5151
-
5152
4877
  const classes = ['v-data-table__table__cell', {
5153
4878
  'v-data-table__table__cell--active': sortActive
5154
4879
  }];
5155
-
5156
4880
  if (align) {
5157
4881
  classes.push(`v-data-table__table__cell--${align}`);
5158
4882
  }
5159
-
5160
4883
  return vue.createVNode("th", {
5161
4884
  "class": classes,
5162
4885
  "key": header.key,
5163
- "tabindex": sortQuery && usePaiging ? 0 : undefined,
4886
+ "tabindex": sortQuery ? 0 : undefined,
5164
4887
  "onClick": ev => {
5165
- if (!sortQuery || !usePaiging) return;
4888
+ if (!sortQuery) return;
5166
4889
  handleClickSortHeader(header);
5167
4890
  }
5168
4891
  }, [vue.createVNode("div", {
@@ -5173,19 +4896,17 @@ const VDataTable = vue.defineComponent({
5173
4896
  "class": "v-data-table__table__header"
5174
4897
  }, [vue.createVNode("tr", null, [children])]);
5175
4898
  }
5176
-
5177
4899
  function toggleSelect(key) {
5178
4900
  return isSelected(key) ? deselect(key) : select(key);
5179
4901
  }
5180
-
5181
4902
  function defaultItemSlot(payload) {
5182
4903
  const {
5183
4904
  key,
5184
4905
  item,
5185
4906
  selected
5186
4907
  } = payload;
5187
- const headers = headersRef.value; // const { $scopedSlots, $createElement, deletor } = this;
5188
-
4908
+ const headers = headersRef.value;
4909
+ // const { $scopedSlots, $createElement, deletor } = this;
5189
4910
  const children = headers.map(header => {
5190
4911
  const {
5191
4912
  cell,
@@ -5194,23 +4915,18 @@ const VDataTable = vue.defineComponent({
5194
4915
  } = header;
5195
4916
  const cellSlot = cell || ctx.slots.cell;
5196
4917
  let cellChildren;
5197
-
5198
4918
  if (cellSlot) {
5199
4919
  const cellPayload = {
5200
4920
  vui,
5201
4921
  item,
5202
4922
  selected
5203
4923
  };
5204
-
5205
4924
  let _children = cellSlot(cellPayload);
5206
-
5207
4925
  if (_children && !Array.isArray(_children) && typeof _children === 'object') {
5208
4926
  _children = JSON.stringify(_children);
5209
4927
  }
5210
-
5211
4928
  cellChildren = _children;
5212
4929
  }
5213
-
5214
4930
  if (!cellChildren) {
5215
4931
  switch (headerKey) {
5216
4932
  case SELECTABLE_HEADER_SYMBOL:
@@ -5265,7 +4981,6 @@ const VDataTable = vue.defineComponent({
5265
4981
  "key": key
5266
4982
  }, [children]);
5267
4983
  }
5268
-
5269
4984
  function genBody() {
5270
4985
  const {
5271
4986
  items,
@@ -5287,7 +5002,6 @@ const VDataTable = vue.defineComponent({
5287
5002
  "class": "v-data-table__table__body"
5288
5003
  }, [children]);
5289
5004
  }
5290
-
5291
5005
  vue.watch(() => props.modelValue, modelValue => {
5292
5006
  internalValues.value = modelValue.slice();
5293
5007
  });
@@ -5336,36 +5050,31 @@ const VDataTable = vue.defineComponent({
5336
5050
  })])]);
5337
5051
  };
5338
5052
  }
5339
-
5340
5053
  });
5341
5054
 
5342
5055
  function _isSlot$2(s) {
5343
5056
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
5344
5057
  }
5345
-
5346
- const VApp = vue.defineComponent({
5058
+ const VApp = /* @__PURE__ */ vue.defineComponent({
5347
5059
  name: 'VApp',
5348
-
5349
5060
  setup(props, ctx) {
5350
5061
  vueKit.useInjectTheme();
5351
5062
  return () => {
5352
5063
  let _slot;
5353
-
5354
5064
  return vue.createVNode(vueKit.VStackRoot, null, _isSlot$2(_slot = vueKit.renderSlotOrEmpty(ctx.slots, 'default')) ? _slot : {
5355
5065
  default: () => [_slot]
5356
5066
  });
5357
5067
  };
5358
5068
  }
5359
-
5360
5069
  });
5361
5070
 
5362
- const VToolbar = vue.defineComponent({
5071
+ const VToolbar = /* @__PURE__ */ vue.defineComponent({
5363
5072
  name: 'VToolbar',
5364
- props: { ...createElevationProps(),
5073
+ props: {
5074
+ ...createElevationProps(),
5365
5075
  ...vueColorScheme.colorSchemeProps(),
5366
5076
  dense: Boolean
5367
5077
  },
5368
-
5369
5078
  setup(props, ctx) {
5370
5079
  const vui = useVui();
5371
5080
  const elevation = useElevation(props, {
@@ -5388,24 +5097,20 @@ const VToolbar = vue.defineComponent({
5388
5097
  }, [vueUtils.renderSlotOrEmpty(ctx.slots, 'default')]);
5389
5098
  };
5390
5099
  }
5391
-
5392
5100
  });
5393
5101
 
5394
5102
  function _isSlot$1(s) {
5395
5103
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
5396
5104
  }
5397
-
5398
- const VToolbarMenu = vue.defineComponent({
5105
+ const VToolbarMenu = /* @__PURE__ */ vue.defineComponent({
5399
5106
  name: 'VToolbarMenu',
5400
5107
  inheritAttrs: false,
5401
5108
  props: {},
5402
-
5403
5109
  setup(props, ctx) {
5404
5110
  const vui = useVui();
5405
5111
  const plain = vui.setting('plainVariant');
5406
5112
  return () => {
5407
5113
  let _slot;
5408
-
5409
5114
  const variant = props.variant || plain;
5410
5115
  return vue.createVNode(VButton, vue.mergeProps(ctx.attrs, {
5411
5116
  "variant": variant,
@@ -5415,10 +5120,9 @@ const VToolbarMenu = vue.defineComponent({
5415
5120
  });
5416
5121
  };
5417
5122
  }
5418
-
5419
5123
  });
5420
5124
 
5421
- const VToolbarEdge = vue.defineComponent({
5125
+ const VToolbarEdge = /* @__PURE__ */ vue.defineComponent({
5422
5126
  name: 'VToolbarEdge',
5423
5127
  props: {
5424
5128
  edge: {
@@ -5426,7 +5130,6 @@ const VToolbarEdge = vue.defineComponent({
5426
5130
  required: true
5427
5131
  }
5428
5132
  },
5429
-
5430
5133
  setup(props, ctx) {
5431
5134
  const edge = vue.computed(() => props.edge);
5432
5135
  return () => {
@@ -5439,14 +5142,12 @@ const VToolbarEdge = vue.defineComponent({
5439
5142
  }, [children]);
5440
5143
  };
5441
5144
  }
5442
-
5443
5145
  });
5444
5146
 
5445
5147
  function _isSlot(s) {
5446
5148
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
5447
5149
  }
5448
-
5449
- const VToolbarTitle = vue.defineComponent({
5150
+ const VToolbarTitle = /* @__PURE__ */ vue.defineComponent({
5450
5151
  name: 'VToolbarTitle',
5451
5152
  props: {
5452
5153
  tag: {
@@ -5454,13 +5155,10 @@ const VToolbarTitle = vue.defineComponent({
5454
5155
  default: 'span'
5455
5156
  }
5456
5157
  },
5457
-
5458
5158
  setup(props, ctx) {
5459
5159
  const _TagName = vue.computed(() => props.tag);
5460
-
5461
5160
  return () => {
5462
5161
  let _slot;
5463
-
5464
5162
  const TagName = _TagName.value;
5465
5163
  return vue.createVNode(TagName, {
5466
5164
  "class": "v-toolbar-title"
@@ -5469,7 +5167,6 @@ const VToolbarTitle = vue.defineComponent({
5469
5167
  });
5470
5168
  };
5471
5169
  }
5472
-
5473
5170
  });
5474
5171
 
5475
5172
  const DEFAULT_AUTO_SCROLL_TO_ELEMENT_OFFSET_TOP = -20;
@@ -5478,8 +5175,8 @@ function mergeVuiServiceUISettings(base, overrides) {
5478
5175
  if (!overrides) {
5479
5176
  return base;
5480
5177
  }
5481
-
5482
- const merged = { ...base
5178
+ const merged = {
5179
+ ...base
5483
5180
  };
5484
5181
  Object.entries(overrides).forEach(([key, value]) => {
5485
5182
  if (value) {
@@ -5492,8 +5189,8 @@ function mergeVuiServiceIconSettings(base, overrides) {
5492
5189
  if (!overrides) {
5493
5190
  return base;
5494
5191
  }
5495
-
5496
- const merged = { ...base
5192
+ const merged = {
5193
+ ...base
5497
5194
  };
5498
5195
  Object.entries(overrides).forEach(([key, value]) => {
5499
5196
  if (value) {
@@ -5506,8 +5203,8 @@ function mergeVuiServiceOptions(base, overrides) {
5506
5203
  if (!overrides) {
5507
5204
  return base;
5508
5205
  }
5509
-
5510
- const merged = { ...base,
5206
+ const merged = {
5207
+ ...base,
5511
5208
  uiSettings: mergeVuiServiceUISettings(base.uiSettings, overrides.uiSettings),
5512
5209
  icons: mergeVuiServiceIconSettings(base.icons, overrides.icons)
5513
5210
  };
@@ -5523,7 +5220,6 @@ class VuiService {
5523
5220
  get scroller() {
5524
5221
  return vueScroller.getDocumentScroller();
5525
5222
  }
5526
-
5527
5223
  constructor(options, stackService) {
5528
5224
  this.options = options;
5529
5225
  this.configure();
@@ -5542,64 +5238,51 @@ class VuiService {
5542
5238
  router: this.router
5543
5239
  });
5544
5240
  this.stack = stackService;
5241
+ this.useLink = options.useLink || vueRouter.useLink;
5545
5242
  }
5546
-
5547
5243
  configure(options) {
5548
5244
  options && Object.assign(this.options, options);
5549
5245
  vueUtils.setDefaultRouterLink(this.getRouterLink());
5550
5246
  }
5551
-
5552
5247
  getRouterLink() {
5553
5248
  return this.options.RouterLink || vueRouter.RouterLink;
5554
5249
  }
5555
-
5556
5250
  setting(key) {
5557
5251
  return this.options.uiSettings[key];
5558
5252
  }
5559
-
5560
5253
  icon(iconType) {
5561
5254
  return this.options.icons[iconType];
5562
5255
  }
5563
-
5564
5256
  getAutoScrollToElementOffsetTop() {
5565
5257
  let {
5566
5258
  autoScrollToElementOffsetTop
5567
5259
  } = this;
5568
-
5569
5260
  if (typeof autoScrollToElementOffsetTop === 'function') {
5570
5261
  autoScrollToElementOffsetTop = autoScrollToElementOffsetTop();
5571
5262
  }
5572
-
5573
5263
  return autoScrollToElementOffsetTop || 0;
5574
5264
  }
5575
-
5576
5265
  getRequiredChip() {
5577
5266
  const {
5578
5267
  requiredChip
5579
5268
  } = this;
5580
5269
  return requiredChip && requiredChip();
5581
5270
  }
5582
-
5583
5271
  dialog(...args) {
5584
5272
  return this.stack.dialog(...args);
5585
5273
  }
5586
-
5587
5274
  alert(...args) {
5588
5275
  return this.stack.alert(...args);
5589
5276
  }
5590
-
5591
5277
  confirm(...args) {
5592
5278
  return this.stack.confirm(...args);
5593
5279
  }
5594
-
5595
5280
  snackbar(...args) {
5596
5281
  return this.stack.snackbar(...args);
5597
5282
  }
5598
-
5599
5283
  menu(...args) {
5600
5284
  return this.stack.menu(...args);
5601
5285
  }
5602
-
5603
5286
  formPrompt(settings, slot) {
5604
5287
  let form;
5605
5288
  const options = {
@@ -5610,9 +5293,7 @@ class VuiService {
5610
5293
  size,
5611
5294
  state
5612
5295
  } = options;
5613
-
5614
5296
  const _state = vue.reactive(state);
5615
-
5616
5297
  options.actions = options.actions || [this.stack.action('cancel', undefined, {
5617
5298
  size
5618
5299
  }), this.stack.action('ok', undefined, {
@@ -5624,7 +5305,8 @@ class VuiService {
5624
5305
  }
5625
5306
  }
5626
5307
  })];
5627
- const resolved = vueKit.resolveVStackDynamicInput({ ...options,
5308
+ const resolved = vueKit.resolveVStackDynamicInput({
5309
+ ...options,
5628
5310
  content: stack => {
5629
5311
  return vue.createVNode(VForm, {
5630
5312
  "disableAutoScroll": true,
@@ -5648,15 +5330,16 @@ class VuiService {
5648
5330
  });
5649
5331
  return this.dialog(resolved);
5650
5332
  }
5651
-
5652
5333
  prompt(rawOptions = {}) {
5653
5334
  const options = typeof rawOptions === 'string' ? {
5654
5335
  input: {
5655
5336
  label: rawOptions
5656
5337
  }
5657
- } : { ...rawOptions
5338
+ } : {
5339
+ ...rawOptions
5658
5340
  };
5659
- options.input = { ...options.input
5341
+ options.input = {
5342
+ ...options.input
5660
5343
  };
5661
5344
  options.dense = true;
5662
5345
  const {
@@ -5679,19 +5362,17 @@ class VuiService {
5679
5362
  return result ? result.input : result;
5680
5363
  });
5681
5364
  }
5682
-
5683
5365
  }
5684
5366
 
5685
5367
  function mergeVuiPluginOptions(base, override) {
5686
5368
  if (!override) return base;
5687
5369
  const merged = mergeVuiServiceOptions(base, override);
5688
-
5689
5370
  if (override.stack) {
5690
- merged.stack = { ...merged.stack,
5371
+ merged.stack = {
5372
+ ...merged.stack,
5691
5373
  ...override.stack
5692
5374
  };
5693
5375
  }
5694
-
5695
5376
  return merged;
5696
5377
  }
5697
5378
  class VuiPlugin {
@@ -5700,11 +5381,11 @@ class VuiPlugin {
5700
5381
  colorScheme,
5701
5382
  stack,
5702
5383
  uiSettings
5703
- } = opts; // ColorScheme
5704
-
5384
+ } = opts;
5385
+ // ColorScheme
5705
5386
  const vueColorSchemePlugin = new vueKit.VueColorSchemePlugin(colorScheme);
5706
- app.use(vueColorSchemePlugin); // Stack
5707
-
5387
+ app.use(vueColorSchemePlugin);
5388
+ // Stack
5708
5389
  vueKit.installVueStackPlugin(app, {
5709
5390
  actions: {
5710
5391
  ok: ({
@@ -5725,8 +5406,8 @@ class VuiPlugin {
5725
5406
  ...(stack ? stack.actions : {})
5726
5407
  },
5727
5408
  ...stack
5728
- }); // Vui
5729
-
5409
+ });
5410
+ // Vui
5730
5411
  const $vui = new VuiService(opts, app.config.globalProperties.$vstack);
5731
5412
  app.provide(VuiInjectionKey, $vui);
5732
5413
  app.config.globalProperties.$vui = $vui;
@@ -5734,7 +5415,6 @@ class VuiPlugin {
5734
5415
  delete app.config.globalProperties.$vui;
5735
5416
  });
5736
5417
  }
5737
-
5738
5418
  }
5739
5419
  function installVuiPlugin(app, opts) {
5740
5420
  return app.use(VuiPlugin, opts);
@@ -5747,6 +5427,7 @@ exports.VTooltip = vueKit.VTooltip;
5747
5427
  exports.ICON_NAMES = iconFont.ICON_NAMES;
5748
5428
  exports.ARROW_KEY_TYPES = ARROW_KEY_TYPES;
5749
5429
  exports.AVATAR_SIZES = AVATAR_SIZES;
5430
+ exports.BUTTON_ALIGNS = BUTTON_ALIGNS;
5750
5431
  exports.CHIP_SIZES = CHIP_SIZES;
5751
5432
  exports.CHOICE_KEY_TYPES = CHOICE_KEY_TYPES;
5752
5433
  exports.CONTROL_FIELD_VARIANTS = CONTROL_FIELD_VARIANTS;
@@ -5838,6 +5519,7 @@ exports.createControlProps = createControlProps;
5838
5519
  exports.createElevationProps = createElevationProps;
5839
5520
  exports.createListTileProps = createListTileProps;
5840
5521
  exports.createNavigationItemProps = createNavigationItemProps;
5522
+ exports.createNavigationProps = createNavigationProps;
5841
5523
  exports.createPaperBaseProps = createPaperBaseProps;
5842
5524
  exports.createPaperProps = createPaperProps;
5843
5525
  exports.createRequiredChipRenderer = createRequiredChipRenderer;