@fastkit/vui 0.9.0 → 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.
- package/dist/tool/index.js +16 -23
- package/dist/vui.cjs.js +358 -718
- package/dist/vui.cjs.prod.js +358 -718
- package/dist/vui.d.ts +25 -26
- package/dist/vui.min.css +1 -1
- package/dist/vui.min.css.map +1 -1
- package/dist/vui.mjs +356 -709
- package/package.json +24 -14
- package/src/components/VWysiwygEditor/VWysiwygEditor.tsx +1 -1
- package/src/plugin.tsx +1 -1
- package/src/styles/core/functions.scss +1 -1
package/dist/vui.cjs.prod.js
CHANGED
|
@@ -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
|
|
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: {
|
|
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: {
|
|
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
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
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
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
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 = {
|
|
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: {
|
|
497
|
+
props: {
|
|
498
|
+
...undefined,
|
|
519
499
|
aspectRatio: String,
|
|
520
500
|
width: NUMBERISH_PROP,
|
|
521
501
|
height: NUMBERISH_PROP,
|
|
@@ -526,7 +506,6 @@ const VBusyImage = vue.defineComponent({
|
|
|
526
506
|
load: ev => true,
|
|
527
507
|
error: ev => true
|
|
528
508
|
},
|
|
529
|
-
|
|
530
509
|
setup(props, ctx) {
|
|
531
510
|
const loadStateRef = vue.ref(props.cover && isAvailableSrc(ctx.attrs.src) ? 'loading' : 'pending');
|
|
532
511
|
const attrsRef = vue.computed(() => splitAttrs(ctx.attrs));
|
|
@@ -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 = {
|
|
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
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,14 +646,11 @@ 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
654
|
function isAvailableSrc(src) {
|
|
694
655
|
return typeof src === 'string' && src !== '';
|
|
695
656
|
}
|
|
@@ -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: {
|
|
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 = {
|
|
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-'));
|
|
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: {
|
|
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 = {
|
|
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;
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 = {
|
|
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,11 +1086,9 @@ const VCardActions = vue.defineComponent({
|
|
|
1140
1086
|
}, [vueUtils.renderSlotOrEmpty(ctx.slots, 'default')]);
|
|
1141
1087
|
};
|
|
1142
1088
|
}
|
|
1143
|
-
|
|
1144
1089
|
});
|
|
1145
1090
|
|
|
1146
1091
|
const BUTTON_ALIGNS = ['left', 'center', 'right'];
|
|
1147
|
-
|
|
1148
1092
|
function resolveRawVButtonIcon(raw, type = 'main') {
|
|
1149
1093
|
if (!raw) return;
|
|
1150
1094
|
return typeof raw === 'function' ? raw : () => vue.createVNode(VIcon, {
|
|
@@ -1152,8 +1096,8 @@ function resolveRawVButtonIcon(raw, type = 'main') {
|
|
|
1152
1096
|
"name": raw
|
|
1153
1097
|
}, null);
|
|
1154
1098
|
}
|
|
1155
|
-
|
|
1156
|
-
|
|
1099
|
+
const vueButtonProps = vueUtils.createPropsOptions({
|
|
1100
|
+
...vueUtils.htmlAttributesPropOptions,
|
|
1157
1101
|
...vueColorScheme.colorSchemeProps(),
|
|
1158
1102
|
...vueUtils.navigationableInheritProps,
|
|
1159
1103
|
spacer: [Boolean, String],
|
|
@@ -1172,28 +1116,24 @@ const LOADING_SIZE_MAP = {
|
|
|
1172
1116
|
md: 20,
|
|
1173
1117
|
lg: 28
|
|
1174
1118
|
};
|
|
1175
|
-
const VButton = vue.defineComponent({
|
|
1119
|
+
const VButton = /* @__PURE__ */ vue.defineComponent({
|
|
1176
1120
|
name: 'VButton',
|
|
1177
1121
|
inheritAttrs: false,
|
|
1178
1122
|
props: vueButtonProps,
|
|
1179
|
-
|
|
1180
1123
|
setup(props, ctx) {
|
|
1181
1124
|
const vui = useVui();
|
|
1182
1125
|
const control = useControl(props);
|
|
1183
1126
|
const defaults = vui.setting('buttonDefault');
|
|
1184
1127
|
const icon = vue.computed(() => {
|
|
1185
1128
|
const _icon = resolveRawVButtonIcon(props.icon);
|
|
1186
|
-
|
|
1187
1129
|
return _icon && _icon();
|
|
1188
1130
|
});
|
|
1189
1131
|
const startIcon = vue.computed(() => {
|
|
1190
1132
|
const _icon = resolveRawVButtonIcon(props.startIcon, 'start');
|
|
1191
|
-
|
|
1192
1133
|
return _icon && _icon();
|
|
1193
1134
|
});
|
|
1194
1135
|
const endIcon = vue.computed(() => {
|
|
1195
1136
|
const _icon = resolveRawVButtonIcon(props.endIcon, 'end');
|
|
1196
|
-
|
|
1197
1137
|
return _icon && _icon();
|
|
1198
1138
|
});
|
|
1199
1139
|
const color = vueColorScheme.useColorClasses({
|
|
@@ -1201,17 +1141,18 @@ const VButton = vue.defineComponent({
|
|
|
1201
1141
|
variant: () => props.variant || (icon.value ? vui.setting('plainVariant') : defaults.variant)
|
|
1202
1142
|
});
|
|
1203
1143
|
const isPlain = vue.computed(() => color.variant.value.value === vui.setting('plainVariant') && color.color.value.value === defaults.color);
|
|
1204
|
-
const isLoading = vue.computed(() => props.loading);
|
|
1144
|
+
const isLoading = vue.computed(() => props.loading);
|
|
1145
|
+
// const isDisabled = computed(() => props.disabled);
|
|
1205
1146
|
// const isRounded = computed(() =>
|
|
1206
1147
|
// props.rounded != null ? props.rounded : !!icon.value,
|
|
1207
1148
|
// );
|
|
1208
|
-
|
|
1209
1149
|
const spacer = vue.computed(() => {
|
|
1210
1150
|
const _spacer = props.spacer;
|
|
1211
1151
|
if (!_spacer) return;
|
|
1212
1152
|
return _spacer === true ? 'left' : _spacer;
|
|
1213
1153
|
});
|
|
1214
|
-
const classes = vue.computed(() => [color.colorClasses.value,
|
|
1154
|
+
const classes = vue.computed(() => [color.colorClasses.value,
|
|
1155
|
+
// navigationable.value.classes,
|
|
1215
1156
|
spacer.value ? `v-button--spacer-${spacer.value}` : undefined, `v-button--${control.size.value}`, `v-button--align-${props.align}`, {
|
|
1216
1157
|
'v-button--loading': isLoading.value,
|
|
1217
1158
|
'v-button--icon': !!icon.value,
|
|
@@ -1233,26 +1174,23 @@ const VButton = vue.defineComponent({
|
|
|
1233
1174
|
});
|
|
1234
1175
|
};
|
|
1235
1176
|
}
|
|
1236
|
-
|
|
1237
1177
|
});
|
|
1238
1178
|
|
|
1239
|
-
const VButtonGroup = vue.defineComponent({
|
|
1179
|
+
const VButtonGroup = /* @__PURE__ */ vue.defineComponent({
|
|
1240
1180
|
name: 'VButtonGroup',
|
|
1241
|
-
props: {
|
|
1181
|
+
props: {
|
|
1182
|
+
...vueColorScheme.colorSchemeProps(),
|
|
1242
1183
|
...createControlProps(),
|
|
1243
1184
|
disabled: Boolean
|
|
1244
1185
|
},
|
|
1245
|
-
|
|
1246
1186
|
setup(props, ctx) {
|
|
1247
1187
|
return () => {
|
|
1248
1188
|
let hasIcon = false;
|
|
1249
1189
|
let buttonLength = 0;
|
|
1250
1190
|
let tmp = vueUtils.renderSlotOrEmpty(ctx.slots) || [];
|
|
1251
|
-
|
|
1252
1191
|
if (tmp.length === 1 && vueUtils.isFragment(tmp[0])) {
|
|
1253
1192
|
tmp = tmp[0].children;
|
|
1254
1193
|
}
|
|
1255
|
-
|
|
1256
1194
|
const children = tmp.map(node => {
|
|
1257
1195
|
if (!vue.isVNode(node) || node.type !== VButton) {
|
|
1258
1196
|
return {
|
|
@@ -1260,13 +1198,10 @@ const VButtonGroup = vue.defineComponent({
|
|
|
1260
1198
|
node
|
|
1261
1199
|
};
|
|
1262
1200
|
}
|
|
1263
|
-
|
|
1264
1201
|
buttonLength++;
|
|
1265
|
-
|
|
1266
1202
|
if (!hasIcon && node.props && !!node.props.icon) {
|
|
1267
1203
|
hasIcon = true;
|
|
1268
1204
|
}
|
|
1269
|
-
|
|
1270
1205
|
return {
|
|
1271
1206
|
isButton: true,
|
|
1272
1207
|
node
|
|
@@ -1279,7 +1214,8 @@ const VButtonGroup = vue.defineComponent({
|
|
|
1279
1214
|
const hasLeft = buttonIndex > 1;
|
|
1280
1215
|
const hasRight = buttonIndex < buttonLength;
|
|
1281
1216
|
const childProps = child.node.props;
|
|
1282
|
-
return vue.cloneVNode(child.node, {
|
|
1217
|
+
return vue.cloneVNode(child.node, {
|
|
1218
|
+
...props,
|
|
1283
1219
|
...childProps,
|
|
1284
1220
|
rouded: false,
|
|
1285
1221
|
class: ['v-button-group__item', {
|
|
@@ -1289,7 +1225,6 @@ const VButtonGroup = vue.defineComponent({
|
|
|
1289
1225
|
}]
|
|
1290
1226
|
});
|
|
1291
1227
|
}
|
|
1292
|
-
|
|
1293
1228
|
return child.node;
|
|
1294
1229
|
});
|
|
1295
1230
|
return vue.createVNode("div", {
|
|
@@ -1299,13 +1234,11 @@ const VButtonGroup = vue.defineComponent({
|
|
|
1299
1234
|
}, [$children]);
|
|
1300
1235
|
};
|
|
1301
1236
|
}
|
|
1302
|
-
|
|
1303
1237
|
});
|
|
1304
1238
|
|
|
1305
1239
|
function _isSlot$e(s) {
|
|
1306
1240
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
1307
1241
|
}
|
|
1308
|
-
|
|
1309
1242
|
const PAGINATION_ALIGNS = ['left', 'center', 'right'];
|
|
1310
1243
|
function paginationProps() {
|
|
1311
1244
|
return vueUtils.createPropsOptions({
|
|
@@ -1316,7 +1249,6 @@ function paginationProps() {
|
|
|
1316
1249
|
type: vueUtils.rawNumberPropType,
|
|
1317
1250
|
default: 1
|
|
1318
1251
|
},
|
|
1319
|
-
|
|
1320
1252
|
/**
|
|
1321
1253
|
* Total number of pages
|
|
1322
1254
|
*/
|
|
@@ -1324,12 +1256,10 @@ function paginationProps() {
|
|
|
1324
1256
|
type: vueUtils.rawNumberPropType,
|
|
1325
1257
|
default: 0
|
|
1326
1258
|
},
|
|
1327
|
-
|
|
1328
1259
|
/**
|
|
1329
1260
|
* Maximum number of links to display.
|
|
1330
1261
|
*/
|
|
1331
1262
|
totalVisible: vueUtils.rawNumberPropType,
|
|
1332
|
-
|
|
1333
1263
|
/**
|
|
1334
1264
|
* true when narrowing
|
|
1335
1265
|
*/
|
|
@@ -1339,7 +1269,6 @@ function paginationProps() {
|
|
|
1339
1269
|
type: String,
|
|
1340
1270
|
default: 'center'
|
|
1341
1271
|
},
|
|
1342
|
-
|
|
1343
1272
|
/**
|
|
1344
1273
|
* To synchronize with a query, use the query name
|
|
1345
1274
|
*/
|
|
@@ -1348,14 +1277,13 @@ function paginationProps() {
|
|
|
1348
1277
|
color: String
|
|
1349
1278
|
});
|
|
1350
1279
|
}
|
|
1351
|
-
const VPagination = vue.defineComponent({
|
|
1280
|
+
const VPagination = /* @__PURE__ */ vue.defineComponent({
|
|
1352
1281
|
name: 'VPagination',
|
|
1353
1282
|
props: paginationProps(),
|
|
1354
1283
|
emits: {
|
|
1355
1284
|
change: page => true,
|
|
1356
1285
|
'update:modelValue': page => true
|
|
1357
1286
|
},
|
|
1358
|
-
|
|
1359
1287
|
setup(props, ctx) {
|
|
1360
1288
|
const vui = useVui();
|
|
1361
1289
|
const elRef = vue.ref(null);
|
|
@@ -1378,40 +1306,31 @@ const VPagination = vue.defineComponent({
|
|
|
1378
1306
|
const {
|
|
1379
1307
|
routeQuery
|
|
1380
1308
|
} = props;
|
|
1381
|
-
|
|
1382
1309
|
if (routeQuery) {
|
|
1383
1310
|
return vui.location.getQuery(routeQuery, Number, 1);
|
|
1384
1311
|
}
|
|
1385
|
-
|
|
1386
1312
|
return internalValue.value;
|
|
1387
1313
|
});
|
|
1388
|
-
|
|
1389
1314
|
const _range = (from, to) => {
|
|
1390
1315
|
const range = [];
|
|
1391
1316
|
from = from > 0 ? from : 1;
|
|
1392
|
-
|
|
1393
1317
|
for (let i = from; i <= to; i++) {
|
|
1394
1318
|
range.push(i);
|
|
1395
1319
|
}
|
|
1396
|
-
|
|
1397
1320
|
return range;
|
|
1398
1321
|
};
|
|
1399
|
-
|
|
1400
1322
|
const computedItems = vue.computed(() => {
|
|
1401
1323
|
const maxButtons = computedNumbersLength.value;
|
|
1402
1324
|
const totalVisible = computedTotalVisible.value;
|
|
1403
1325
|
const length = computedLength.value;
|
|
1404
1326
|
const pageValue = computedPage.value;
|
|
1405
1327
|
const maxLength = Math.min(Math.max(0, totalVisible || 0) || length, Math.max(0, maxButtons) || length, length);
|
|
1406
|
-
|
|
1407
1328
|
if (length <= maxLength) {
|
|
1408
1329
|
return _range(1, length);
|
|
1409
1330
|
}
|
|
1410
|
-
|
|
1411
1331
|
const even = maxLength % 2 === 0 ? 1 : 0;
|
|
1412
1332
|
const left = Math.floor(maxLength / 2);
|
|
1413
1333
|
const right = length - left + 1 + even;
|
|
1414
|
-
|
|
1415
1334
|
if (pageValue > left && pageValue < right) {
|
|
1416
1335
|
const start = pageValue - left + 2;
|
|
1417
1336
|
const end = pageValue + left - 2 - even;
|
|
@@ -1439,7 +1358,6 @@ const VPagination = vue.defineComponent({
|
|
|
1439
1358
|
'v-pagination--dense': props.dense,
|
|
1440
1359
|
[`v-pagination--${props.align}`]: true
|
|
1441
1360
|
}, colorScope.value.className]);
|
|
1442
|
-
|
|
1443
1361
|
async function setPage(value) {
|
|
1444
1362
|
if (isDisabled.value) return;
|
|
1445
1363
|
const {
|
|
@@ -1448,7 +1366,6 @@ const VPagination = vue.defineComponent({
|
|
|
1448
1366
|
} = props;
|
|
1449
1367
|
const newPage = vueUtils.resolveNumberish(value);
|
|
1450
1368
|
if (computedPage.value === newPage) return;
|
|
1451
|
-
|
|
1452
1369
|
if (beforeChange) {
|
|
1453
1370
|
try {
|
|
1454
1371
|
let result = beforeChange(newPage);
|
|
@@ -1456,7 +1373,6 @@ const VPagination = vue.defineComponent({
|
|
|
1456
1373
|
if (result === false) return;
|
|
1457
1374
|
} catch (e) {}
|
|
1458
1375
|
}
|
|
1459
|
-
|
|
1460
1376
|
if (routeQuery) {
|
|
1461
1377
|
const to = createRoutableLocationByPage(newPage, routeQuery);
|
|
1462
1378
|
return router.push(to).then(failure => {
|
|
@@ -1468,7 +1384,6 @@ const VPagination = vue.defineComponent({
|
|
|
1468
1384
|
ctx.emit('change', newPage);
|
|
1469
1385
|
}
|
|
1470
1386
|
}
|
|
1471
|
-
|
|
1472
1387
|
function createPageInfo(source) {
|
|
1473
1388
|
const currentPage = computedPage.value;
|
|
1474
1389
|
const length = computedLength.value;
|
|
@@ -1476,7 +1391,6 @@ const VPagination = vue.defineComponent({
|
|
|
1476
1391
|
let page;
|
|
1477
1392
|
let active;
|
|
1478
1393
|
let disabled;
|
|
1479
|
-
|
|
1480
1394
|
if (typeof source === 'number') {
|
|
1481
1395
|
number = true;
|
|
1482
1396
|
page = source;
|
|
@@ -1494,7 +1408,6 @@ const VPagination = vue.defineComponent({
|
|
|
1494
1408
|
active = false;
|
|
1495
1409
|
disabled = page < 1 || page > length;
|
|
1496
1410
|
}
|
|
1497
|
-
|
|
1498
1411
|
return {
|
|
1499
1412
|
number,
|
|
1500
1413
|
page,
|
|
@@ -1502,13 +1415,11 @@ const VPagination = vue.defineComponent({
|
|
|
1502
1415
|
disabled
|
|
1503
1416
|
};
|
|
1504
1417
|
}
|
|
1505
|
-
|
|
1506
1418
|
function createRoutableLocationByPage(page, routeQuery) {
|
|
1507
1419
|
return vui.location.getQueryMergedLocation({
|
|
1508
1420
|
[routeQuery]: page
|
|
1509
1421
|
});
|
|
1510
1422
|
}
|
|
1511
|
-
|
|
1512
1423
|
function genItem(source, index) {
|
|
1513
1424
|
const {
|
|
1514
1425
|
number,
|
|
@@ -1526,25 +1437,21 @@ const VPagination = vue.defineComponent({
|
|
|
1526
1437
|
if (type === 'truncate') {
|
|
1527
1438
|
return vue.createVNode("span", null, [vue.createTextVNode("...")]);
|
|
1528
1439
|
}
|
|
1529
|
-
|
|
1530
1440
|
const isPrev = type === 'prev';
|
|
1531
1441
|
const icon = isPrev ? vui.icon('prev') : vui.icon('next');
|
|
1532
1442
|
return resolveRawIconProp(false, icon, {
|
|
1533
1443
|
class: 'v-pagination__item__icon'
|
|
1534
1444
|
});
|
|
1535
1445
|
})();
|
|
1536
|
-
|
|
1537
1446
|
const onClick = ev => {
|
|
1538
1447
|
ev.preventDefault();
|
|
1539
1448
|
if (page === undefined || active || disabled) return;
|
|
1540
1449
|
setPage(page);
|
|
1541
1450
|
};
|
|
1542
|
-
|
|
1543
1451
|
const key = `${source}-${index}`;
|
|
1544
1452
|
const {
|
|
1545
1453
|
routeQuery
|
|
1546
1454
|
} = props;
|
|
1547
|
-
|
|
1548
1455
|
if (page !== undefined && routeQuery) {
|
|
1549
1456
|
const to = createRoutableLocationByPage(page, routeQuery);
|
|
1550
1457
|
return vue.createVNode(vueRouter.RouterLink, {
|
|
@@ -1564,7 +1471,6 @@ const VPagination = vue.defineComponent({
|
|
|
1564
1471
|
}, [children]);
|
|
1565
1472
|
}
|
|
1566
1473
|
}
|
|
1567
|
-
|
|
1568
1474
|
vue.watch(() => props.modelValue, modelValue => {
|
|
1569
1475
|
internalValue.value = vueUtils.resolveNumberish(modelValue);
|
|
1570
1476
|
}, {
|
|
@@ -1580,7 +1486,6 @@ const VPagination = vue.defineComponent({
|
|
|
1580
1486
|
width
|
|
1581
1487
|
}) => {
|
|
1582
1488
|
const el = elRef.value;
|
|
1583
|
-
|
|
1584
1489
|
if (el) {
|
|
1585
1490
|
const style = window.getComputedStyle(el, 'before');
|
|
1586
1491
|
const width = style.getPropertyValue('width');
|
|
@@ -1588,17 +1493,16 @@ const VPagination = vue.defineComponent({
|
|
|
1588
1493
|
const size = parseFloat(width) + parseFloat(margin) * 0.5;
|
|
1589
1494
|
itemSize.value = size;
|
|
1590
1495
|
}
|
|
1591
|
-
|
|
1592
1496
|
containerWidth.value = width;
|
|
1593
1497
|
})]);
|
|
1594
1498
|
};
|
|
1595
1499
|
}
|
|
1596
|
-
|
|
1597
1500
|
});
|
|
1598
1501
|
|
|
1599
1502
|
function createListTileProps() {
|
|
1600
1503
|
const icon = rawIconProp();
|
|
1601
|
-
return {
|
|
1504
|
+
return {
|
|
1505
|
+
...vueUtils.navigationableInheritProps,
|
|
1602
1506
|
...vueUtils.createPropsOptions({
|
|
1603
1507
|
startIcon: icon,
|
|
1604
1508
|
endIcon: icon,
|
|
@@ -1615,22 +1519,20 @@ function createListTileProps() {
|
|
|
1615
1519
|
const listTileEmits = {
|
|
1616
1520
|
changeActive: isActive => true
|
|
1617
1521
|
};
|
|
1618
|
-
const VListTile = vue.defineComponent({
|
|
1522
|
+
const VListTile = /* @__PURE__ */ vue.defineComponent({
|
|
1619
1523
|
name: 'VListTile',
|
|
1620
1524
|
inheritAttrs: false,
|
|
1621
1525
|
props: createListTileProps(),
|
|
1622
|
-
emits: {
|
|
1526
|
+
emits: {
|
|
1527
|
+
...listTileEmits
|
|
1623
1528
|
},
|
|
1624
|
-
|
|
1625
1529
|
setup(props, ctx) {
|
|
1626
1530
|
const vui = useVui();
|
|
1627
1531
|
const startIcon = vue.computed(() => {
|
|
1628
1532
|
let icon = resolveRawIconProp(false, props.startIcon);
|
|
1629
|
-
|
|
1630
1533
|
if (!icon && props.startIconEmptySpace) {
|
|
1631
1534
|
icon = resolveRawIconProp(false, '$empty');
|
|
1632
1535
|
}
|
|
1633
|
-
|
|
1634
1536
|
return icon;
|
|
1635
1537
|
});
|
|
1636
1538
|
const endIcon = vue.computed(() => resolveRawIconProp(false, props.endIcon));
|
|
@@ -1674,14 +1576,13 @@ const VListTile = vue.defineComponent({
|
|
|
1674
1576
|
});
|
|
1675
1577
|
};
|
|
1676
1578
|
}
|
|
1677
|
-
|
|
1678
1579
|
});
|
|
1679
1580
|
|
|
1680
|
-
const VDrawerLayout = vue.defineComponent({
|
|
1581
|
+
const VDrawerLayout = /* @__PURE__ */ vue.defineComponent({
|
|
1681
1582
|
name: 'VDrawerLayout',
|
|
1682
|
-
props: {
|
|
1583
|
+
props: {
|
|
1584
|
+
...createPaperBaseProps()
|
|
1683
1585
|
},
|
|
1684
|
-
|
|
1685
1586
|
setup(props, ctx) {
|
|
1686
1587
|
return () => {
|
|
1687
1588
|
const paperProps = vue.computed(() => ({
|
|
@@ -1705,16 +1606,16 @@ const VDrawerLayout = vue.defineComponent({
|
|
|
1705
1606
|
}), ctx.slots);
|
|
1706
1607
|
};
|
|
1707
1608
|
}
|
|
1708
|
-
|
|
1709
1609
|
});
|
|
1710
1610
|
|
|
1611
|
+
// Adornment
|
|
1711
1612
|
function _isSlot$d(s) {
|
|
1712
1613
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
1713
1614
|
}
|
|
1714
|
-
|
|
1715
|
-
const VHero = vue.defineComponent({
|
|
1615
|
+
const VHero = /* @__PURE__ */ vue.defineComponent({
|
|
1716
1616
|
name: 'VHero',
|
|
1717
|
-
props: {
|
|
1617
|
+
props: {
|
|
1618
|
+
...vueUtils.htmlAttributesPropOptions,
|
|
1718
1619
|
color: {
|
|
1719
1620
|
type: String,
|
|
1720
1621
|
default: 'primary'
|
|
@@ -1729,11 +1630,9 @@ const VHero = vue.defineComponent({
|
|
|
1729
1630
|
},
|
|
1730
1631
|
...vueUtils.defineSlotsProps()
|
|
1731
1632
|
},
|
|
1732
|
-
|
|
1733
1633
|
setup(props, ctx) {
|
|
1734
1634
|
return () => {
|
|
1735
1635
|
let _slot;
|
|
1736
|
-
|
|
1737
1636
|
const TagName = props.tag;
|
|
1738
1637
|
const HTagName = props.hTag;
|
|
1739
1638
|
const adornment = vueUtils.renderSlotOrEmpty(ctx.slots, 'adornment');
|
|
@@ -1754,37 +1653,36 @@ const VHero = vue.defineComponent({
|
|
|
1754
1653
|
});
|
|
1755
1654
|
};
|
|
1756
1655
|
}
|
|
1757
|
-
|
|
1758
1656
|
});
|
|
1759
1657
|
|
|
1760
1658
|
function _isSlot$c(s) {
|
|
1761
1659
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
1762
1660
|
}
|
|
1763
|
-
|
|
1764
1661
|
function createNavigationItemProps() {
|
|
1765
|
-
return {
|
|
1662
|
+
return {
|
|
1663
|
+
...createListTileProps(),
|
|
1766
1664
|
match: [String, Array],
|
|
1767
1665
|
depth: {
|
|
1768
1666
|
type: Number,
|
|
1769
1667
|
default: 0
|
|
1770
1668
|
},
|
|
1771
1669
|
nested: Boolean,
|
|
1772
|
-
color: String
|
|
1670
|
+
color: String
|
|
1671
|
+
// key: {
|
|
1773
1672
|
// type: [String, Number],
|
|
1774
1673
|
// required: true,
|
|
1775
1674
|
// },
|
|
1776
|
-
|
|
1777
1675
|
};
|
|
1778
1676
|
}
|
|
1677
|
+
|
|
1779
1678
|
function resolveNavigationItemInput(input) {
|
|
1780
1679
|
let label = input.label;
|
|
1781
|
-
const props = {
|
|
1680
|
+
const props = {
|
|
1681
|
+
...input
|
|
1782
1682
|
};
|
|
1783
|
-
|
|
1784
1683
|
if (typeof label === 'function') {
|
|
1785
1684
|
label = label();
|
|
1786
1685
|
}
|
|
1787
|
-
|
|
1788
1686
|
delete props.label;
|
|
1789
1687
|
return {
|
|
1790
1688
|
label,
|
|
@@ -1796,27 +1694,27 @@ function renderNavigationItemInput(input, extraProps) {
|
|
|
1796
1694
|
label,
|
|
1797
1695
|
props
|
|
1798
1696
|
} = resolveNavigationItemInput(input);
|
|
1799
|
-
return vue.createVNode(VNavigationItem, {
|
|
1697
|
+
return vue.createVNode(VNavigationItem, {
|
|
1698
|
+
...props,
|
|
1800
1699
|
...extraProps
|
|
1801
1700
|
}, _isSlot$c(label) ? label : {
|
|
1802
1701
|
default: () => [label]
|
|
1803
1702
|
});
|
|
1804
1703
|
}
|
|
1805
1704
|
const TRIM_END_SLASH_RE = /\/$/;
|
|
1806
|
-
|
|
1807
1705
|
function trimEndSlash(sorce) {
|
|
1808
1706
|
return sorce ? sorce.replace(TRIM_END_SLASH_RE, '') : sorce;
|
|
1809
1707
|
}
|
|
1810
|
-
|
|
1811
|
-
const VNavigationItem = vue.defineComponent({
|
|
1708
|
+
const VNavigationItem = /* @__PURE__ */ vue.defineComponent({
|
|
1812
1709
|
name: 'VNavigationItem',
|
|
1813
1710
|
inheritAttrs: false,
|
|
1814
|
-
props: {
|
|
1711
|
+
props: {
|
|
1712
|
+
...createNavigationItemProps(),
|
|
1815
1713
|
children: Array
|
|
1816
1714
|
},
|
|
1817
|
-
emits: {
|
|
1715
|
+
emits: {
|
|
1716
|
+
...listTileEmits
|
|
1818
1717
|
},
|
|
1819
|
-
|
|
1820
1718
|
setup(props, ctx) {
|
|
1821
1719
|
const vui = useVui();
|
|
1822
1720
|
const opened = vue.ref(false);
|
|
@@ -1832,11 +1730,9 @@ const VNavigationItem = vue.defineComponent({
|
|
|
1832
1730
|
const {
|
|
1833
1731
|
to
|
|
1834
1732
|
} = ctx.attrs;
|
|
1835
|
-
|
|
1836
1733
|
if (match) {
|
|
1837
1734
|
return (Array.isArray(match) ? match : [match]).map(trimEndSlash);
|
|
1838
1735
|
}
|
|
1839
|
-
|
|
1840
1736
|
if (!to) return;
|
|
1841
1737
|
const toPath = typeof to === 'string' ? to : to.path;
|
|
1842
1738
|
if (!toPath) return;
|
|
@@ -1846,51 +1742,47 @@ const VNavigationItem = vue.defineComponent({
|
|
|
1846
1742
|
'v-navigation-item--opened': opened.value,
|
|
1847
1743
|
[`v-navigation-item--depth-${props.depth}`]: props.depth > 0
|
|
1848
1744
|
}]);
|
|
1849
|
-
const route = vueRouter.useRoute();
|
|
1745
|
+
const route = vueRouter.useRoute();
|
|
1746
|
+
// const classes = computed(() => [
|
|
1850
1747
|
// // {
|
|
1851
1748
|
// // 'v-navigation-item--matched': matched.value,
|
|
1852
1749
|
// // },
|
|
1853
1750
|
// ]);
|
|
1854
|
-
|
|
1855
1751
|
vue.watch(() => route.path, newPath => {
|
|
1856
1752
|
const c = children.value;
|
|
1857
1753
|
const m = match.value;
|
|
1858
|
-
|
|
1859
1754
|
if (!c || !m || !m.length) {
|
|
1860
1755
|
// matched.value = false;
|
|
1861
1756
|
return;
|
|
1862
1757
|
}
|
|
1863
|
-
|
|
1864
1758
|
const trimedNewPath = trimEndSlash(newPath);
|
|
1865
|
-
|
|
1866
1759
|
if (m.some(_ => trimedNewPath.match(_))) {
|
|
1867
|
-
open();
|
|
1760
|
+
open();
|
|
1761
|
+
// matched.value = true;
|
|
1868
1762
|
} else {
|
|
1869
|
-
close();
|
|
1870
|
-
|
|
1763
|
+
close();
|
|
1764
|
+
// matched.value = false;
|
|
1765
|
+
}
|
|
1766
|
+
// if (trimEndSlash(newPath).match(m)) {
|
|
1871
1767
|
// open();
|
|
1872
1768
|
// // matched.value = true;
|
|
1873
1769
|
// } else {
|
|
1874
1770
|
// close();
|
|
1875
1771
|
// // matched.value = false;
|
|
1876
1772
|
// }
|
|
1877
|
-
|
|
1878
1773
|
}, {
|
|
1879
1774
|
immediate: true
|
|
1880
|
-
});
|
|
1881
|
-
|
|
1775
|
+
});
|
|
1776
|
+
// const iconPayload = () => opened.value;
|
|
1882
1777
|
const _props = vue.computed(() => {
|
|
1883
1778
|
const c = children.value;
|
|
1884
1779
|
let {
|
|
1885
1780
|
endIcon
|
|
1886
1781
|
} = props;
|
|
1887
|
-
|
|
1888
1782
|
if (c && !endIcon) {
|
|
1889
1783
|
endIcon = vui.icon('navigationExpand');
|
|
1890
|
-
|
|
1891
1784
|
if (typeof endIcon === 'string') {
|
|
1892
1785
|
const name = endIcon;
|
|
1893
|
-
|
|
1894
1786
|
endIcon = gen => {
|
|
1895
1787
|
return gen({
|
|
1896
1788
|
name,
|
|
@@ -1899,19 +1791,20 @@ const VNavigationItem = vue.defineComponent({
|
|
|
1899
1791
|
};
|
|
1900
1792
|
}
|
|
1901
1793
|
}
|
|
1902
|
-
|
|
1903
|
-
|
|
1794
|
+
const __props = {
|
|
1795
|
+
...props,
|
|
1904
1796
|
endIcon
|
|
1905
1797
|
};
|
|
1906
|
-
delete __props.children;
|
|
1798
|
+
delete __props.children;
|
|
1799
|
+
// const _activeClass = props.activeClass;
|
|
1907
1800
|
// const activeClass = `v-navigation-item--active${
|
|
1908
1801
|
// _activeClass ? ` ${_activeClass}` : ''
|
|
1909
1802
|
// }`;
|
|
1910
|
-
|
|
1911
|
-
|
|
1803
|
+
return {
|
|
1804
|
+
...__props
|
|
1805
|
+
// activeClass,
|
|
1912
1806
|
// startIcon: toRawIconProp(__props.startIcon, iconPayload),
|
|
1913
1807
|
// endIcon: toRawIconProp(__props.endIcon, iconPayload),
|
|
1914
|
-
|
|
1915
1808
|
};
|
|
1916
1809
|
});
|
|
1917
1810
|
|
|
@@ -1919,25 +1812,22 @@ const VNavigationItem = vue.defineComponent({
|
|
|
1919
1812
|
if (!children.value) return;
|
|
1920
1813
|
opened.value = true;
|
|
1921
1814
|
}
|
|
1922
|
-
|
|
1923
1815
|
function close() {
|
|
1924
1816
|
opened.value = false;
|
|
1925
1817
|
}
|
|
1926
|
-
|
|
1927
1818
|
function toggle() {
|
|
1928
1819
|
return opened.value ? close() : open();
|
|
1929
1820
|
}
|
|
1930
|
-
|
|
1931
1821
|
const onClick = ev => {
|
|
1932
1822
|
if (!to.value) {
|
|
1933
1823
|
return toggle();
|
|
1934
|
-
}
|
|
1824
|
+
}
|
|
1825
|
+
// console.log('★');
|
|
1935
1826
|
// open();
|
|
1936
1827
|
// if (!to.value) {
|
|
1937
1828
|
// toggle();
|
|
1938
1829
|
// }
|
|
1939
1830
|
// ctx.emit('click', ev);
|
|
1940
|
-
|
|
1941
1831
|
};
|
|
1942
1832
|
|
|
1943
1833
|
const onChangeActive = isActive => {
|
|
@@ -1958,13 +1848,11 @@ const VNavigationItem = vue.defineComponent({
|
|
|
1958
1848
|
// }
|
|
1959
1849
|
ctx.emit('changeActive', isActive);
|
|
1960
1850
|
};
|
|
1961
|
-
|
|
1962
1851
|
ctx.expose({
|
|
1963
1852
|
close
|
|
1964
1853
|
});
|
|
1965
1854
|
return () => {
|
|
1966
1855
|
let _slot;
|
|
1967
|
-
|
|
1968
1856
|
const _children = children.value;
|
|
1969
1857
|
const fallbackTag = _children ? 'button' : undefined;
|
|
1970
1858
|
return vue.createVNode(vue.Fragment, null, [vue.createVNode(VListTile, vue.mergeProps(ctx.attrs, _props.value, {
|
|
@@ -1983,14 +1871,13 @@ const VNavigationItem = vue.defineComponent({
|
|
|
1983
1871
|
...child
|
|
1984
1872
|
}, {
|
|
1985
1873
|
startIconEmptySpace: _props.value.startIconEmptySpace,
|
|
1986
|
-
depth: props.nested ? props.depth + 1 : props.depth
|
|
1874
|
+
depth: props.nested ? props.depth + 1 : props.depth
|
|
1875
|
+
// onClick,
|
|
1987
1876
|
// onChangeActive,
|
|
1988
|
-
|
|
1989
1877
|
}))]), [[vue.vShow, opened.value]])]
|
|
1990
1878
|
})]);
|
|
1991
1879
|
};
|
|
1992
1880
|
}
|
|
1993
|
-
|
|
1994
1881
|
});
|
|
1995
1882
|
|
|
1996
1883
|
function createNavigationProps() {
|
|
@@ -2007,10 +1894,9 @@ function createNavigationProps() {
|
|
|
2007
1894
|
caption: [String, Function]
|
|
2008
1895
|
});
|
|
2009
1896
|
}
|
|
2010
|
-
const VNavigation = vue.defineComponent({
|
|
1897
|
+
const VNavigation = /* @__PURE__ */ vue.defineComponent({
|
|
2011
1898
|
name: 'VNavigation',
|
|
2012
1899
|
props: createNavigationProps(),
|
|
2013
|
-
|
|
2014
1900
|
setup(props, ctx) {
|
|
2015
1901
|
const items = vue.computed(() => props.items);
|
|
2016
1902
|
const color = vueColorScheme.useScopeColorClass(props);
|
|
@@ -2024,14 +1910,12 @@ const VNavigation = vue.defineComponent({
|
|
|
2024
1910
|
vue.onBeforeUpdate(() => {
|
|
2025
1911
|
itemsRef.value = [];
|
|
2026
1912
|
});
|
|
2027
|
-
|
|
2028
1913
|
function setItemRef(item, itemRef) {
|
|
2029
1914
|
itemsRef.value.push({
|
|
2030
1915
|
key: item.key,
|
|
2031
1916
|
ref: itemRef
|
|
2032
1917
|
});
|
|
2033
1918
|
}
|
|
2034
|
-
|
|
2035
1919
|
function onItemActivated(item) {
|
|
2036
1920
|
itemsRef.value.forEach(({
|
|
2037
1921
|
key,
|
|
@@ -2041,7 +1925,6 @@ const VNavigation = vue.defineComponent({
|
|
|
2041
1925
|
ref.close();
|
|
2042
1926
|
});
|
|
2043
1927
|
}
|
|
2044
|
-
|
|
2045
1928
|
return () => {
|
|
2046
1929
|
const $caption = caption.value;
|
|
2047
1930
|
return vue.createVNode("nav", {
|
|
@@ -2055,27 +1938,24 @@ const VNavigation = vue.defineComponent({
|
|
|
2055
1938
|
setItemRef(item, ref);
|
|
2056
1939
|
},
|
|
2057
1940
|
onChangeActive: isActive => {
|
|
2058
|
-
if (isActive
|
|
2059
|
-
/* && item.children && item.children.length*/
|
|
2060
|
-
) {
|
|
1941
|
+
if (isActive /* && item.children && item.children.length*/) {
|
|
2061
1942
|
onItemActivated(item);
|
|
2062
1943
|
}
|
|
2063
1944
|
}
|
|
2064
1945
|
}))]);
|
|
2065
1946
|
};
|
|
2066
1947
|
}
|
|
2067
|
-
|
|
2068
1948
|
});
|
|
2069
1949
|
|
|
2070
|
-
const VCheckable = vue.defineComponent({
|
|
1950
|
+
const VCheckable = /* @__PURE__ */ vue.defineComponent({
|
|
2071
1951
|
name: 'VCheckable',
|
|
2072
1952
|
props: {
|
|
2073
1953
|
invalid: Boolean,
|
|
2074
1954
|
disabled: Boolean,
|
|
2075
1955
|
readonly: Boolean,
|
|
2076
1956
|
checked: Boolean,
|
|
2077
|
-
...vueKit.defineSlotsProps()
|
|
2078
|
-
|
|
1957
|
+
...vueKit.defineSlotsProps()
|
|
1958
|
+
// autoWidth: Boolean,
|
|
2079
1959
|
},
|
|
2080
1960
|
|
|
2081
1961
|
setup(props, ctx) {
|
|
@@ -2083,8 +1963,8 @@ const VCheckable = vue.defineComponent({
|
|
|
2083
1963
|
const invalid = vue.computed(() => props.invalid);
|
|
2084
1964
|
const disabled = vue.computed(() => props.disabled);
|
|
2085
1965
|
const readonly = vue.computed(() => props.readonly);
|
|
2086
|
-
const checked = vue.computed(() => props.checked);
|
|
2087
|
-
|
|
1966
|
+
const checked = vue.computed(() => props.checked);
|
|
1967
|
+
// const autoWidth = computed(() => props.autoWidth);
|
|
2088
1968
|
const classes = vue.computed(() => {
|
|
2089
1969
|
return [{
|
|
2090
1970
|
'v-checkable--invalid': invalid.value,
|
|
@@ -2105,21 +1985,20 @@ const VCheckable = vue.defineComponent({
|
|
|
2105
1985
|
"class": "v-checkable__label"
|
|
2106
1986
|
}, [vueKit.renderSlotOrEmpty(ctx.slots, 'label')])]);
|
|
2107
1987
|
}
|
|
2108
|
-
|
|
2109
1988
|
});
|
|
2110
1989
|
|
|
2111
1990
|
const {
|
|
2112
1991
|
props: props$7,
|
|
2113
1992
|
emits: emits$7
|
|
2114
1993
|
} = vueKit.createFormSelectorItemSettings();
|
|
2115
|
-
const VCheckbox = vue.defineComponent({
|
|
1994
|
+
const VCheckbox = /* @__PURE__ */ vue.defineComponent({
|
|
2116
1995
|
name: 'VCheckbox',
|
|
2117
|
-
props: {
|
|
1996
|
+
props: {
|
|
1997
|
+
...props$7,
|
|
2118
1998
|
...createControlProps(),
|
|
2119
1999
|
indeterminate: Boolean
|
|
2120
2000
|
},
|
|
2121
2001
|
emits: emits$7,
|
|
2122
|
-
|
|
2123
2002
|
setup(props, ctx) {
|
|
2124
2003
|
const nodeControl = vueKit.useFormSelectorItemControl(props, ctx, {
|
|
2125
2004
|
nodeType: VUI_CHECKBOX_SYMBOL,
|
|
@@ -2127,12 +2006,12 @@ const VCheckbox = vue.defineComponent({
|
|
|
2127
2006
|
});
|
|
2128
2007
|
const control = useControl(props);
|
|
2129
2008
|
const isIndeterminate = vue.computed(() => props.indeterminate);
|
|
2130
|
-
return {
|
|
2009
|
+
return {
|
|
2010
|
+
...nodeControl.expose(),
|
|
2131
2011
|
...control,
|
|
2132
2012
|
isIndeterminate
|
|
2133
2013
|
};
|
|
2134
2014
|
},
|
|
2135
|
-
|
|
2136
2015
|
render() {
|
|
2137
2016
|
const {
|
|
2138
2017
|
selectorItemControl,
|
|
@@ -2157,13 +2036,11 @@ const VCheckbox = vue.defineComponent({
|
|
|
2157
2036
|
label: () => vueKit.renderSlotOrEmpty(this.$slots, 'default')
|
|
2158
2037
|
});
|
|
2159
2038
|
}
|
|
2160
|
-
|
|
2161
2039
|
});
|
|
2162
2040
|
|
|
2163
2041
|
function _isSlot$b(s) {
|
|
2164
2042
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
2165
2043
|
}
|
|
2166
|
-
|
|
2167
2044
|
const VCheckboxGroup = defineFormSelectorComponent({
|
|
2168
2045
|
name: 'VCheckboxGroup',
|
|
2169
2046
|
defaultMultiple: true,
|
|
@@ -2181,24 +2058,24 @@ const {
|
|
|
2181
2058
|
props: props$6,
|
|
2182
2059
|
emits: emits$6
|
|
2183
2060
|
} = vueKit.createFormSelectorItemSettings();
|
|
2184
|
-
const VRadio = vue.defineComponent({
|
|
2061
|
+
const VRadio = /* @__PURE__ */ vue.defineComponent({
|
|
2185
2062
|
name: 'VRadio',
|
|
2186
|
-
props: {
|
|
2063
|
+
props: {
|
|
2064
|
+
...props$6,
|
|
2187
2065
|
...createControlProps()
|
|
2188
2066
|
},
|
|
2189
2067
|
emits: emits$6,
|
|
2190
|
-
|
|
2191
2068
|
setup(props, ctx) {
|
|
2192
2069
|
const nodeControl = vueKit.useFormSelectorItemControl(props, ctx, {
|
|
2193
2070
|
nodeType: VUI_RADIO_SYMBOL,
|
|
2194
2071
|
parentNodeType: VUI_RADIO_GROUP_SYMBOL
|
|
2195
2072
|
});
|
|
2196
2073
|
const control = useControl(props);
|
|
2197
|
-
return {
|
|
2074
|
+
return {
|
|
2075
|
+
...nodeControl.expose(),
|
|
2198
2076
|
...control
|
|
2199
2077
|
};
|
|
2200
2078
|
},
|
|
2201
|
-
|
|
2202
2079
|
render() {
|
|
2203
2080
|
const {
|
|
2204
2081
|
selectorItemControl
|
|
@@ -2221,13 +2098,11 @@ const VRadio = vue.defineComponent({
|
|
|
2221
2098
|
label: () => vueKit.renderSlotOrEmpty(this.$slots, 'default')
|
|
2222
2099
|
});
|
|
2223
2100
|
}
|
|
2224
|
-
|
|
2225
2101
|
});
|
|
2226
2102
|
|
|
2227
2103
|
function _isSlot$a(s) {
|
|
2228
2104
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
2229
2105
|
}
|
|
2230
|
-
|
|
2231
2106
|
const VRadioGroup = defineFormSelectorComponent({
|
|
2232
2107
|
name: 'VRadioGroup',
|
|
2233
2108
|
nodeType: VUI_RADIO_GROUP_SYMBOL,
|
|
@@ -2244,30 +2119,28 @@ const {
|
|
|
2244
2119
|
props: props$5,
|
|
2245
2120
|
emits: emits$5
|
|
2246
2121
|
} = vueKit.createFormSelectorItemSettings();
|
|
2247
|
-
const VSwitch = vue.defineComponent({
|
|
2122
|
+
const VSwitch = /* @__PURE__ */ vue.defineComponent({
|
|
2248
2123
|
name: 'VSwitch',
|
|
2249
|
-
props: {
|
|
2124
|
+
props: {
|
|
2125
|
+
...props$5,
|
|
2250
2126
|
...createControlProps()
|
|
2251
2127
|
},
|
|
2252
2128
|
emits: emits$5,
|
|
2253
|
-
|
|
2254
2129
|
setup(props, ctx) {
|
|
2255
2130
|
const nodeControl = vueKit.useFormSelectorItemControl(props, ctx, {
|
|
2256
2131
|
nodeType: VUI_SWITCH_SYMBOL,
|
|
2257
2132
|
parentNodeType: VUI_SWITCH_GROUP_SYMBOL
|
|
2258
2133
|
});
|
|
2259
2134
|
const control = useControl(props);
|
|
2260
|
-
|
|
2261
2135
|
if (typeof window !== 'undefined') {
|
|
2262
2136
|
window.yy = {};
|
|
2263
2137
|
window.yy[String(Date.now())] = nodeControl;
|
|
2264
2138
|
}
|
|
2265
|
-
|
|
2266
|
-
|
|
2139
|
+
return {
|
|
2140
|
+
...nodeControl.expose(),
|
|
2267
2141
|
...control
|
|
2268
2142
|
};
|
|
2269
2143
|
},
|
|
2270
|
-
|
|
2271
2144
|
render() {
|
|
2272
2145
|
const {
|
|
2273
2146
|
selectorItemControl
|
|
@@ -2294,13 +2167,11 @@ const VSwitch = vue.defineComponent({
|
|
|
2294
2167
|
label: () => vueKit.renderSlotOrEmpty(this.$slots, 'default')
|
|
2295
2168
|
});
|
|
2296
2169
|
}
|
|
2297
|
-
|
|
2298
2170
|
});
|
|
2299
2171
|
|
|
2300
2172
|
function _isSlot$9(s) {
|
|
2301
2173
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
2302
2174
|
}
|
|
2303
|
-
|
|
2304
2175
|
const VSwitchGroup = defineFormSelectorComponent({
|
|
2305
2176
|
name: 'VSwitchGroup',
|
|
2306
2177
|
defaultMultiple: true,
|
|
@@ -2318,13 +2189,13 @@ const {
|
|
|
2318
2189
|
props: props$4,
|
|
2319
2190
|
emits: emits$4
|
|
2320
2191
|
} = vueKit.createFormSelectorItemSettings();
|
|
2321
|
-
const VOption = vue.defineComponent({
|
|
2192
|
+
const VOption = /* @__PURE__ */ vue.defineComponent({
|
|
2322
2193
|
name: 'VOption',
|
|
2323
|
-
props: {
|
|
2194
|
+
props: {
|
|
2195
|
+
...props$4,
|
|
2324
2196
|
...createControlProps()
|
|
2325
2197
|
},
|
|
2326
2198
|
emits: emits$4,
|
|
2327
|
-
|
|
2328
2199
|
setup(props, ctx) {
|
|
2329
2200
|
const nodeControl = vueKit.useFormSelectorItemControl(props, ctx, {
|
|
2330
2201
|
nodeType: VUI_OPTION_SYMBOL,
|
|
@@ -2338,11 +2209,11 @@ const VOption = vue.defineComponent({
|
|
|
2338
2209
|
'v-option--disabled': nodeControl.isDisabled
|
|
2339
2210
|
}, control.classes.value];
|
|
2340
2211
|
});
|
|
2341
|
-
return {
|
|
2212
|
+
return {
|
|
2213
|
+
...nodeControl.expose(),
|
|
2342
2214
|
classes
|
|
2343
2215
|
};
|
|
2344
2216
|
},
|
|
2345
|
-
|
|
2346
2217
|
render() {
|
|
2347
2218
|
const {
|
|
2348
2219
|
selectorItemControl,
|
|
@@ -2359,17 +2230,16 @@ const VOption = vue.defineComponent({
|
|
|
2359
2230
|
"class": "v-option__label"
|
|
2360
2231
|
}, [vueKit.renderSlotOrEmpty(this.$slots, 'default')])]);
|
|
2361
2232
|
}
|
|
2362
|
-
|
|
2363
2233
|
});
|
|
2364
2234
|
|
|
2365
|
-
const VOptionGroup = vue.defineComponent({
|
|
2235
|
+
const VOptionGroup = /* @__PURE__ */ vue.defineComponent({
|
|
2366
2236
|
name: 'VOptionGroup',
|
|
2367
|
-
props: {
|
|
2237
|
+
props: {
|
|
2238
|
+
...vueKit.createFormSelectorItemGroupProps(),
|
|
2368
2239
|
// eslint-disable-next-line vue/require-prop-types
|
|
2369
2240
|
label: {},
|
|
2370
2241
|
...vueKit.defineSlotsProps()
|
|
2371
2242
|
},
|
|
2372
|
-
|
|
2373
2243
|
setup(props, ctx) {
|
|
2374
2244
|
const groupControl = vueKit.useFormSelectorItemGroupControl(props, ctx, {
|
|
2375
2245
|
parentNodeType: VUI_SELECT_SYMBOL
|
|
@@ -2382,12 +2252,12 @@ const VOptionGroup = vue.defineComponent({
|
|
|
2382
2252
|
'v-option-group--disabled': groupControl.isDisabled
|
|
2383
2253
|
}];
|
|
2384
2254
|
});
|
|
2385
|
-
return {
|
|
2255
|
+
return {
|
|
2256
|
+
...groupControl.expose(),
|
|
2386
2257
|
classes,
|
|
2387
2258
|
labelSlot
|
|
2388
2259
|
};
|
|
2389
2260
|
},
|
|
2390
|
-
|
|
2391
2261
|
render() {
|
|
2392
2262
|
const {
|
|
2393
2263
|
labelSlot,
|
|
@@ -2401,12 +2271,12 @@ const VOptionGroup = vue.defineComponent({
|
|
|
2401
2271
|
"class": "v-option-group__label"
|
|
2402
2272
|
}, [label]), vueKit.renderSlotOrEmpty(this.$slots, 'default')]);
|
|
2403
2273
|
}
|
|
2404
|
-
|
|
2405
2274
|
});
|
|
2406
2275
|
|
|
2407
2276
|
const ADORNMENT_POSITIONS = ['start', 'end'];
|
|
2408
2277
|
function createControlFieldProps() {
|
|
2409
|
-
return {
|
|
2278
|
+
return {
|
|
2279
|
+
...vueKit.createPropsOptions({
|
|
2410
2280
|
startAdornment: {},
|
|
2411
2281
|
endAdornment: {},
|
|
2412
2282
|
tabindex: {
|
|
@@ -2418,9 +2288,10 @@ function createControlFieldProps() {
|
|
|
2418
2288
|
...createControlProps()
|
|
2419
2289
|
};
|
|
2420
2290
|
}
|
|
2421
|
-
const VControlField = vue.defineComponent({
|
|
2291
|
+
const VControlField = /* @__PURE__ */ vue.defineComponent({
|
|
2422
2292
|
name: 'VControlField',
|
|
2423
|
-
props: {
|
|
2293
|
+
props: {
|
|
2294
|
+
...createControlFieldProps(),
|
|
2424
2295
|
focused: Boolean,
|
|
2425
2296
|
autoHeight: Boolean,
|
|
2426
2297
|
...vueKit.defineSlotsProps(),
|
|
@@ -2430,7 +2301,6 @@ const VControlField = vue.defineComponent({
|
|
|
2430
2301
|
emits: {
|
|
2431
2302
|
click: ev => true
|
|
2432
2303
|
},
|
|
2433
|
-
|
|
2434
2304
|
setup(props, ctx) {
|
|
2435
2305
|
const parentNode = vueKit.useParentFormNode();
|
|
2436
2306
|
const control = useControl(props);
|
|
@@ -2439,11 +2309,11 @@ const VControlField = vue.defineComponent({
|
|
|
2439
2309
|
const disabled = vue.computed(() => !!parentNode && parentNode.isDisabled);
|
|
2440
2310
|
const invalid = vue.computed(() => !!parentNode && parentNode.invalid);
|
|
2441
2311
|
const autoHeight = vue.computed(() => props.autoHeight);
|
|
2442
|
-
const readonly = vue.computed(() => !!parentNode && parentNode.isReadonly);
|
|
2312
|
+
const readonly = vue.computed(() => !!parentNode && parentNode.isReadonly);
|
|
2313
|
+
// const computedTabindex = computed(() =>
|
|
2443
2314
|
// disabled.value ? -1 : props.tabindex,
|
|
2444
2315
|
// );
|
|
2445
2316
|
// const isOutlined = computed(() => inputBox.variant.value === 'outlined');
|
|
2446
|
-
|
|
2447
2317
|
const colorProvider = useVuiColorProvider();
|
|
2448
2318
|
const classes = vue.computed(() => {
|
|
2449
2319
|
const classes = ['v-control-field', `v-control-field--${inputBox.variant.value}`, {
|
|
@@ -2463,10 +2333,8 @@ const VControlField = vue.defineComponent({
|
|
|
2463
2333
|
});
|
|
2464
2334
|
return slots;
|
|
2465
2335
|
});
|
|
2466
|
-
|
|
2467
2336
|
const renderAdornment = position => {
|
|
2468
2337
|
let child;
|
|
2469
|
-
|
|
2470
2338
|
if (position === 'end' && props.loading) {
|
|
2471
2339
|
child = vue.createVNode(vueLoading.VProgressCircular, {
|
|
2472
2340
|
"indeterminate": true,
|
|
@@ -2475,15 +2343,14 @@ const VControlField = vue.defineComponent({
|
|
|
2475
2343
|
} else {
|
|
2476
2344
|
child = vueKit.renderSlotOrEmpty(resolvedSlots.value, position);
|
|
2477
2345
|
}
|
|
2478
|
-
|
|
2479
2346
|
if (!child) return;
|
|
2480
2347
|
return vue.createVNode("div", {
|
|
2481
2348
|
"class": ['v-control-field__adornment', `v-control-field__adornment--${position}`]
|
|
2482
2349
|
}, [child]);
|
|
2483
2350
|
};
|
|
2484
|
-
|
|
2485
2351
|
const handleClick = ev => {
|
|
2486
|
-
ctx.emit('click', ev);
|
|
2352
|
+
ctx.emit('click', ev);
|
|
2353
|
+
// if (ev.target === hostElRef.value) {
|
|
2487
2354
|
// ctx.emit('clickHost', ev);
|
|
2488
2355
|
// }
|
|
2489
2356
|
};
|
|
@@ -2492,8 +2359,8 @@ const VControlField = vue.defineComponent({
|
|
|
2492
2359
|
classes,
|
|
2493
2360
|
renderAdornment,
|
|
2494
2361
|
hostElRef: () => hostElRef,
|
|
2495
|
-
handleClick
|
|
2496
|
-
|
|
2362
|
+
handleClick
|
|
2363
|
+
// computedTabindex,
|
|
2497
2364
|
};
|
|
2498
2365
|
},
|
|
2499
2366
|
|
|
@@ -2506,13 +2373,11 @@ const VControlField = vue.defineComponent({
|
|
|
2506
2373
|
"class": "v-control-field__body"
|
|
2507
2374
|
}, [vueKit.renderSlotOrEmpty(this.$slots, 'default')]), this.renderAdornment('end')]);
|
|
2508
2375
|
}
|
|
2509
|
-
|
|
2510
2376
|
});
|
|
2511
2377
|
|
|
2512
2378
|
function _isSlot$8(s) {
|
|
2513
2379
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
2514
2380
|
}
|
|
2515
|
-
|
|
2516
2381
|
const ARROW_KEY_TYPES = vueKit.useKeyboard.Key(['ArrowUp', 'ArrowDown']);
|
|
2517
2382
|
const CHOICE_KEY_TYPES = vueKit.useKeyboard.Key(['Enter', ' ']);
|
|
2518
2383
|
const KEYBORD_EVENT_TYPES = vueKit.useKeyboard.Key([...ARROW_KEY_TYPES, ...CHOICE_KEY_TYPES]);
|
|
@@ -2520,9 +2385,10 @@ const {
|
|
|
2520
2385
|
props: props$3,
|
|
2521
2386
|
emits: emits$3
|
|
2522
2387
|
} = vueKit.createFormSelectorSettings();
|
|
2523
|
-
const VSelect = vue.defineComponent({
|
|
2388
|
+
const VSelect = /* @__PURE__ */ vue.defineComponent({
|
|
2524
2389
|
name: 'VSelect',
|
|
2525
|
-
props: {
|
|
2390
|
+
props: {
|
|
2391
|
+
...props$3,
|
|
2526
2392
|
...vueKit.createFormControlProps(),
|
|
2527
2393
|
...createControlFieldProps(),
|
|
2528
2394
|
...createControlFieldProviderProps(),
|
|
@@ -2536,19 +2402,15 @@ const VSelect = vue.defineComponent({
|
|
|
2536
2402
|
closeOnNavigation: Boolean
|
|
2537
2403
|
},
|
|
2538
2404
|
emits: emits$3,
|
|
2539
|
-
|
|
2540
2405
|
setup(props, ctx) {
|
|
2541
2406
|
const menuRef = vue.ref(null);
|
|
2542
2407
|
const menuOpened = vue.ref(false);
|
|
2543
|
-
|
|
2544
2408
|
const showMenu = () => {
|
|
2545
2409
|
menuOpened.value = true;
|
|
2546
2410
|
};
|
|
2547
|
-
|
|
2548
2411
|
const closeMenu = () => {
|
|
2549
2412
|
menuOpened.value = false;
|
|
2550
2413
|
};
|
|
2551
|
-
|
|
2552
2414
|
const inputControl = vueKit.useFormSelectorControl(props, ctx, {
|
|
2553
2415
|
nodeType: VUI_SELECT_SYMBOL,
|
|
2554
2416
|
onSelectItem: item => {
|
|
@@ -2568,15 +2430,12 @@ const VSelect = vue.defineComponent({
|
|
|
2568
2430
|
const slot = vueKit.resolveVNodeChildOrSlots(props.failedToLoadItemsMessage, vui.setting('failedToLoadDataMessage'), 'Failed to load data.');
|
|
2569
2431
|
return slot && slot(vui);
|
|
2570
2432
|
});
|
|
2571
|
-
|
|
2572
2433
|
const focus = opts => {
|
|
2573
2434
|
fieldRef.value && fieldRef.value.focus(opts);
|
|
2574
2435
|
};
|
|
2575
|
-
|
|
2576
2436
|
const renderSelections = selectedItems => {
|
|
2577
2437
|
const selectionSlot = ctx.slots.selection;
|
|
2578
2438
|
const children = [];
|
|
2579
|
-
|
|
2580
2439
|
if (inputControl.itemsLoadFailed) {
|
|
2581
2440
|
children.push(vue.createVNode("span", {
|
|
2582
2441
|
"class": "v-select__placeholder"
|
|
@@ -2590,7 +2449,6 @@ const VSelect = vue.defineComponent({
|
|
|
2590
2449
|
if (index > 0) {
|
|
2591
2450
|
children.push(vui.selectionSeparator());
|
|
2592
2451
|
}
|
|
2593
|
-
|
|
2594
2452
|
const child = selectionSlot ? selectionSlot({
|
|
2595
2453
|
item,
|
|
2596
2454
|
index
|
|
@@ -2602,10 +2460,8 @@ const VSelect = vue.defineComponent({
|
|
|
2602
2460
|
"class": "v-select__placeholder"
|
|
2603
2461
|
}, [props.placeholder]));
|
|
2604
2462
|
}
|
|
2605
|
-
|
|
2606
2463
|
return children;
|
|
2607
2464
|
};
|
|
2608
|
-
|
|
2609
2465
|
const clearKeyFocused = () => {
|
|
2610
2466
|
const menu = menuRef.value;
|
|
2611
2467
|
if (!menu) return;
|
|
@@ -2614,7 +2470,6 @@ const VSelect = vue.defineComponent({
|
|
|
2614
2470
|
const els = Array.from(bodyEl.querySelectorAll('.v-option'));
|
|
2615
2471
|
els.forEach(el => el.classList.remove('v-option--key-focused'));
|
|
2616
2472
|
};
|
|
2617
|
-
|
|
2618
2473
|
const getItemElements = () => {
|
|
2619
2474
|
const menu = menuRef.value;
|
|
2620
2475
|
if (!menu) return;
|
|
@@ -2630,7 +2485,6 @@ const VSelect = vue.defineComponent({
|
|
|
2630
2485
|
if (!els.length) return;
|
|
2631
2486
|
return els;
|
|
2632
2487
|
};
|
|
2633
|
-
|
|
2634
2488
|
const arrowKeyHandler = ev => {
|
|
2635
2489
|
const {
|
|
2636
2490
|
key
|
|
@@ -2645,22 +2499,18 @@ const VSelect = vue.defineComponent({
|
|
|
2645
2499
|
length
|
|
2646
2500
|
} = els;
|
|
2647
2501
|
const isUp = key === 'ArrowUp';
|
|
2648
|
-
|
|
2649
2502
|
if (currentIndex == null) {
|
|
2650
2503
|
nextIndex = isUp ? length - 1 : 0;
|
|
2651
2504
|
} else {
|
|
2652
2505
|
const shiftAmount = key === 'ArrowUp' ? -1 : 1;
|
|
2653
2506
|
nextIndex = currentIndex + shiftAmount;
|
|
2654
|
-
|
|
2655
2507
|
if (nextIndex < 0) {
|
|
2656
2508
|
nextIndex = length - 1;
|
|
2657
2509
|
} else if (nextIndex >= length) {
|
|
2658
2510
|
nextIndex = 0;
|
|
2659
2511
|
}
|
|
2660
2512
|
}
|
|
2661
|
-
|
|
2662
2513
|
const nextEl = els[nextIndex];
|
|
2663
|
-
|
|
2664
2514
|
if (nextEl) {
|
|
2665
2515
|
clearKeyFocused();
|
|
2666
2516
|
nextEl.classList.add('v-option--key-focused');
|
|
@@ -2672,7 +2522,6 @@ const VSelect = vue.defineComponent({
|
|
|
2672
2522
|
ev.preventDefault();
|
|
2673
2523
|
}
|
|
2674
2524
|
};
|
|
2675
|
-
|
|
2676
2525
|
const choiceKeyHandler = ev => {
|
|
2677
2526
|
const {
|
|
2678
2527
|
key
|
|
@@ -2681,7 +2530,6 @@ const VSelect = vue.defineComponent({
|
|
|
2681
2530
|
const els = getItemElements();
|
|
2682
2531
|
if (!els) return;
|
|
2683
2532
|
const currentEl = els.find(el => el.classList.contains('v-option--key-focused'));
|
|
2684
|
-
|
|
2685
2533
|
if (currentEl) {
|
|
2686
2534
|
const ev = new MouseEvent('click', {
|
|
2687
2535
|
view: window,
|
|
@@ -2695,19 +2543,18 @@ const VSelect = vue.defineComponent({
|
|
|
2695
2543
|
});
|
|
2696
2544
|
}
|
|
2697
2545
|
};
|
|
2698
|
-
|
|
2699
2546
|
const keyboardEventHandler = ev => {
|
|
2700
2547
|
if (ARROW_KEY_TYPES.includes(ev.key)) return arrowKeyHandler(ev);
|
|
2701
2548
|
if (CHOICE_KEY_TYPES.includes(ev.key)) return choiceKeyHandler(ev);
|
|
2702
2549
|
};
|
|
2703
|
-
|
|
2704
2550
|
vueKit.useKeyboard([{
|
|
2705
2551
|
key: KEYBORD_EVENT_TYPES,
|
|
2706
2552
|
handler: keyboardEventHandler
|
|
2707
2553
|
}], {
|
|
2708
2554
|
autorun: true
|
|
2709
2555
|
});
|
|
2710
|
-
return {
|
|
2556
|
+
return {
|
|
2557
|
+
...inputControl.expose(),
|
|
2711
2558
|
...control,
|
|
2712
2559
|
iconName,
|
|
2713
2560
|
menuOpened,
|
|
@@ -2720,7 +2567,6 @@ const VSelect = vue.defineComponent({
|
|
|
2720
2567
|
clearKeyFocused
|
|
2721
2568
|
};
|
|
2722
2569
|
},
|
|
2723
|
-
|
|
2724
2570
|
render() {
|
|
2725
2571
|
const {
|
|
2726
2572
|
nodeControl,
|
|
@@ -2731,7 +2577,6 @@ const VSelect = vue.defineComponent({
|
|
|
2731
2577
|
const children = this.$slots.default && this.$slots.default() || [];
|
|
2732
2578
|
const propGroups = this.propGroups.map(group => {
|
|
2733
2579
|
let _slot;
|
|
2734
|
-
|
|
2735
2580
|
return vue.createVNode(VOptionGroup, {
|
|
2736
2581
|
"key": group.id,
|
|
2737
2582
|
"groupId": group.id,
|
|
@@ -2760,7 +2605,8 @@ const VSelect = vue.defineComponent({
|
|
|
2760
2605
|
"onClickLabel": ev => {
|
|
2761
2606
|
this.focus();
|
|
2762
2607
|
}
|
|
2763
|
-
}, {
|
|
2608
|
+
}, {
|
|
2609
|
+
...this.$slots,
|
|
2764
2610
|
default: () => vue.createVNode(vueKit.VMenu, {
|
|
2765
2611
|
"width": "fit",
|
|
2766
2612
|
"maxWidth": "fit",
|
|
@@ -2793,20 +2639,18 @@ const VSelect = vue.defineComponent({
|
|
|
2793
2639
|
let t = ev.target;
|
|
2794
2640
|
const count = 0;
|
|
2795
2641
|
let hit = false;
|
|
2796
|
-
|
|
2797
2642
|
while (count < 5) {
|
|
2798
2643
|
if (t.classList.contains('v-select__input')) {
|
|
2799
2644
|
hit = true;
|
|
2800
2645
|
break;
|
|
2801
2646
|
}
|
|
2802
|
-
|
|
2803
2647
|
t = t.parentElement;
|
|
2804
2648
|
}
|
|
2805
|
-
|
|
2806
2649
|
control.show(hit ? t : ev);
|
|
2807
2650
|
}
|
|
2808
2651
|
}
|
|
2809
|
-
}, {
|
|
2652
|
+
}, {
|
|
2653
|
+
...this.$slots,
|
|
2810
2654
|
default: () => [vue.withDirectives(vue.createVNode("select", {
|
|
2811
2655
|
"class": "v-select__input__element",
|
|
2812
2656
|
"name": this.name,
|
|
@@ -2838,7 +2682,6 @@ const VSelect = vue.defineComponent({
|
|
|
2838
2682
|
}
|
|
2839
2683
|
}, null);
|
|
2840
2684
|
}
|
|
2841
|
-
|
|
2842
2685
|
if (this.clearable && this.nodeControl.value != null) {
|
|
2843
2686
|
return vue.createVNode(VButton, {
|
|
2844
2687
|
"key": "clear",
|
|
@@ -2850,7 +2693,6 @@ const VSelect = vue.defineComponent({
|
|
|
2850
2693
|
}
|
|
2851
2694
|
}, null);
|
|
2852
2695
|
}
|
|
2853
|
-
|
|
2854
2696
|
return vue.createVNode(VIcon, {
|
|
2855
2697
|
"key": "icon",
|
|
2856
2698
|
"name": this.iconName,
|
|
@@ -2861,10 +2703,9 @@ const VSelect = vue.defineComponent({
|
|
|
2861
2703
|
})
|
|
2862
2704
|
});
|
|
2863
2705
|
}
|
|
2864
|
-
|
|
2865
2706
|
});
|
|
2866
2707
|
|
|
2867
|
-
const VTextCounter = vue.defineComponent({
|
|
2708
|
+
const VTextCounter = /* @__PURE__ */ vue.defineComponent({
|
|
2868
2709
|
name: 'VTextCounter',
|
|
2869
2710
|
props: {
|
|
2870
2711
|
length: {
|
|
@@ -2876,22 +2717,20 @@ const VTextCounter = vue.defineComponent({
|
|
|
2876
2717
|
required: true
|
|
2877
2718
|
}
|
|
2878
2719
|
},
|
|
2879
|
-
|
|
2880
2720
|
render() {
|
|
2881
2721
|
return vue.createVNode("span", {
|
|
2882
2722
|
"class": "v-text-counter"
|
|
2883
2723
|
}, [`${this.length} / ${this.maxlength}`]);
|
|
2884
2724
|
}
|
|
2885
|
-
|
|
2886
2725
|
});
|
|
2887
2726
|
|
|
2888
2727
|
const {
|
|
2889
2728
|
props: props$2,
|
|
2890
2729
|
emits: emits$2
|
|
2891
2730
|
} = vueKit.createTextInputSettings();
|
|
2892
|
-
|
|
2893
2731
|
function createTextFieldProps() {
|
|
2894
|
-
return {
|
|
2732
|
+
return {
|
|
2733
|
+
...props$2,
|
|
2895
2734
|
...vueKit.createFormControlProps(),
|
|
2896
2735
|
...createControlFieldProps(),
|
|
2897
2736
|
...createControlFieldProviderProps(),
|
|
@@ -2899,23 +2738,21 @@ function createTextFieldProps() {
|
|
|
2899
2738
|
...vueKit.defineSlotsProps()
|
|
2900
2739
|
};
|
|
2901
2740
|
}
|
|
2902
|
-
|
|
2903
|
-
const VTextField = vue.defineComponent({
|
|
2741
|
+
const VTextField = /* @__PURE__ */ vue.defineComponent({
|
|
2904
2742
|
name: 'VTextField',
|
|
2905
2743
|
props: createTextFieldProps(),
|
|
2906
2744
|
emits: emits$2,
|
|
2907
|
-
|
|
2908
2745
|
setup(props, ctx) {
|
|
2909
2746
|
const inputControl = vueKit.useTextInputControl(props, ctx, {
|
|
2910
2747
|
nodeType: VUI_TEXT_FIELD_SYMBOL
|
|
2911
2748
|
});
|
|
2912
2749
|
const control = useControl(props);
|
|
2913
2750
|
useControlField(props);
|
|
2914
|
-
return {
|
|
2751
|
+
return {
|
|
2752
|
+
...inputControl.expose(),
|
|
2915
2753
|
...control
|
|
2916
2754
|
};
|
|
2917
2755
|
},
|
|
2918
|
-
|
|
2919
2756
|
render() {
|
|
2920
2757
|
return vue.createVNode(VFormControl, {
|
|
2921
2758
|
"nodeControl": this.nodeControl,
|
|
@@ -2929,13 +2766,15 @@ const VTextField = vue.defineComponent({
|
|
|
2929
2766
|
"onClickLabel": ev => {
|
|
2930
2767
|
this.focus();
|
|
2931
2768
|
}
|
|
2932
|
-
}, {
|
|
2769
|
+
}, {
|
|
2770
|
+
...this.$slots,
|
|
2933
2771
|
default: () => vue.createVNode(VControlField, {
|
|
2934
2772
|
"class": "v-text-field__input",
|
|
2935
2773
|
"startAdornment": this.startAdornment,
|
|
2936
2774
|
"endAdornment": this.endAdornment,
|
|
2937
2775
|
"size": this.size
|
|
2938
|
-
}, {
|
|
2776
|
+
}, {
|
|
2777
|
+
...this.$slots,
|
|
2939
2778
|
default: () => this.textInputControl.createInputElement({
|
|
2940
2779
|
class: 'v-text-field__input__element'
|
|
2941
2780
|
})
|
|
@@ -2949,35 +2788,33 @@ const VTextField = vue.defineComponent({
|
|
|
2949
2788
|
}
|
|
2950
2789
|
});
|
|
2951
2790
|
}
|
|
2952
|
-
|
|
2953
2791
|
});
|
|
2954
2792
|
|
|
2955
|
-
const VNumberField = vue.defineComponent({
|
|
2793
|
+
const VNumberField = /* @__PURE__ */ vue.defineComponent({
|
|
2956
2794
|
name: 'VNumberField',
|
|
2957
|
-
props: {
|
|
2795
|
+
props: {
|
|
2796
|
+
...undefined,
|
|
2958
2797
|
modelValue: {
|
|
2959
2798
|
type: Number,
|
|
2960
2799
|
default: null
|
|
2961
2800
|
}
|
|
2962
2801
|
},
|
|
2963
|
-
emits: {
|
|
2802
|
+
emits: {
|
|
2803
|
+
...undefined,
|
|
2964
2804
|
'update:modelValue': value => true,
|
|
2965
2805
|
change: value => true
|
|
2966
2806
|
},
|
|
2967
|
-
|
|
2968
2807
|
setup(props, ctx) {
|
|
2969
2808
|
const toString = value => {
|
|
2970
2809
|
if (value == null) return '';
|
|
2971
2810
|
return String(value);
|
|
2972
2811
|
};
|
|
2973
|
-
|
|
2974
2812
|
const toNumber = value => {
|
|
2975
2813
|
if (value == null) return null;
|
|
2976
2814
|
if (typeof value === 'number') return value;
|
|
2977
2815
|
if (value.trim() === '') return null;
|
|
2978
2816
|
return Number(value);
|
|
2979
2817
|
};
|
|
2980
|
-
|
|
2981
2818
|
return () => {
|
|
2982
2819
|
return vue.createVNode(VTextField, vue.mergeProps(ctx.attrs, {
|
|
2983
2820
|
"type": "number",
|
|
@@ -2991,16 +2828,16 @@ const VNumberField = vue.defineComponent({
|
|
|
2991
2828
|
}), ctx.slots);
|
|
2992
2829
|
};
|
|
2993
2830
|
}
|
|
2994
|
-
|
|
2995
2831
|
});
|
|
2996
2832
|
|
|
2997
2833
|
const {
|
|
2998
2834
|
props: props$1,
|
|
2999
2835
|
emits: emits$1
|
|
3000
2836
|
} = vueKit.createTextareaSettings();
|
|
3001
|
-
const VTextarea = vue.defineComponent({
|
|
2837
|
+
const VTextarea = /* @__PURE__ */ vue.defineComponent({
|
|
3002
2838
|
name: 'VTextarea',
|
|
3003
|
-
props: {
|
|
2839
|
+
props: {
|
|
2840
|
+
...props$1,
|
|
3004
2841
|
...vueKit.createFormControlProps(),
|
|
3005
2842
|
...createControlFieldProps(),
|
|
3006
2843
|
...createControlFieldProviderProps(),
|
|
@@ -3008,7 +2845,6 @@ const VTextarea = vue.defineComponent({
|
|
|
3008
2845
|
...vueKit.defineSlotsProps()
|
|
3009
2846
|
},
|
|
3010
2847
|
emits: emits$1,
|
|
3011
|
-
|
|
3012
2848
|
setup(props, ctx) {
|
|
3013
2849
|
const vui = useVui();
|
|
3014
2850
|
const inputControl = vueKit.useTextareaControl(props, ctx, {
|
|
@@ -3017,11 +2853,11 @@ const VTextarea = vue.defineComponent({
|
|
|
3017
2853
|
});
|
|
3018
2854
|
const control = useControl(props);
|
|
3019
2855
|
useControlField(props);
|
|
3020
|
-
return {
|
|
2856
|
+
return {
|
|
2857
|
+
...inputControl.expose(),
|
|
3021
2858
|
...control
|
|
3022
2859
|
};
|
|
3023
2860
|
},
|
|
3024
|
-
|
|
3025
2861
|
render() {
|
|
3026
2862
|
return vue.createVNode(VFormControl, {
|
|
3027
2863
|
"nodeControl": this.nodeControl,
|
|
@@ -3035,14 +2871,16 @@ const VTextarea = vue.defineComponent({
|
|
|
3035
2871
|
"onClickLabel": ev => {
|
|
3036
2872
|
this.focus();
|
|
3037
2873
|
}
|
|
3038
|
-
}, {
|
|
2874
|
+
}, {
|
|
2875
|
+
...this.$slots,
|
|
3039
2876
|
default: () => vue.createVNode(VControlField, {
|
|
3040
2877
|
"class": "v-textarea__input",
|
|
3041
2878
|
"size": this.size,
|
|
3042
2879
|
"autoHeight": true,
|
|
3043
2880
|
"startAdornment": this.startAdornment,
|
|
3044
2881
|
"endAdornment": this.endAdornment
|
|
3045
|
-
}, {
|
|
2882
|
+
}, {
|
|
2883
|
+
...this.$slots,
|
|
3046
2884
|
default: () => this.textareaControl.createInputElement({
|
|
3047
2885
|
class: 'v-textarea__input__element'
|
|
3048
2886
|
})
|
|
@@ -3056,7 +2894,6 @@ const VTextarea = vue.defineComponent({
|
|
|
3056
2894
|
}
|
|
3057
2895
|
});
|
|
3058
2896
|
}
|
|
3059
|
-
|
|
3060
2897
|
});
|
|
3061
2898
|
|
|
3062
2899
|
const EDITOR_EVENTS = [
|
|
@@ -3178,10 +3015,10 @@ function resolveRawWysiwygEditorTools(rawTools, vui) {
|
|
|
3178
3015
|
function _isSlot$7(s) {
|
|
3179
3016
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
3180
3017
|
}
|
|
3181
|
-
|
|
3182
|
-
const VWysiwygEditor = vue.defineComponent({
|
|
3018
|
+
const VWysiwygEditor = /* @__PURE__ */ vue.defineComponent({
|
|
3183
3019
|
name: 'VWysiwygEditor',
|
|
3184
|
-
props: {
|
|
3020
|
+
props: {
|
|
3021
|
+
// ...props,
|
|
3185
3022
|
...vueFormControl.createTextableProps(),
|
|
3186
3023
|
...vueKit.createFormControlProps(),
|
|
3187
3024
|
...createControlFieldProps(),
|
|
@@ -3200,9 +3037,9 @@ const VWysiwygEditor = vue.defineComponent({
|
|
|
3200
3037
|
disabledMinHeight: Boolean,
|
|
3201
3038
|
disabledMaxHeight: Boolean
|
|
3202
3039
|
},
|
|
3203
|
-
emits: {
|
|
3040
|
+
emits: {
|
|
3041
|
+
...vueFormControl.createTextableEmits()
|
|
3204
3042
|
},
|
|
3205
|
-
|
|
3206
3043
|
setup(props, ctx) {
|
|
3207
3044
|
const vui = useVui();
|
|
3208
3045
|
const textRef = vue.ref('');
|
|
@@ -3238,22 +3075,21 @@ const VWysiwygEditor = vue.defineComponent({
|
|
|
3238
3075
|
textRef.value = editor.getText();
|
|
3239
3076
|
}
|
|
3240
3077
|
});
|
|
3241
|
-
const extensions = [
|
|
3078
|
+
const extensions = [starterKit.StarterKit.configure({
|
|
3242
3079
|
bold: false,
|
|
3243
3080
|
bulletList: false,
|
|
3244
3081
|
orderedList: false,
|
|
3245
3082
|
history: false,
|
|
3246
3083
|
italic: false
|
|
3247
|
-
}),
|
|
3084
|
+
}),
|
|
3085
|
+
// Linter.configure({
|
|
3248
3086
|
// plugins: [BadWords(['abc', 'evidently']), Punctuation, HeadingLevel],
|
|
3249
3087
|
// }),
|
|
3250
3088
|
...resolveRawWysiwygExtensions(props.extensions, initializeCtx), ...wysiwygSettings.value.extensions];
|
|
3251
|
-
|
|
3252
3089
|
const updateEditable = () => {
|
|
3253
3090
|
if (!editor.value) return;
|
|
3254
3091
|
editor.value.setEditable(inputControl.canOperation);
|
|
3255
3092
|
};
|
|
3256
|
-
|
|
3257
3093
|
vue.watch(() => inputControl.canOperation, updateEditable);
|
|
3258
3094
|
vue.watch(() => props.modelValue, modelValue => {
|
|
3259
3095
|
const $editor = editor.value;
|
|
@@ -3267,7 +3103,8 @@ const VWysiwygEditor = vue.defineComponent({
|
|
|
3267
3103
|
textRef.value = editor.getText();
|
|
3268
3104
|
updateEditable();
|
|
3269
3105
|
});
|
|
3270
|
-
const editor = vue3.useEditor({
|
|
3106
|
+
const editor = vue3.useEditor({
|
|
3107
|
+
...initializeCtx.editorOptions(),
|
|
3271
3108
|
autofocus: props.autofocus,
|
|
3272
3109
|
content: props.modelValue,
|
|
3273
3110
|
extensions,
|
|
@@ -3276,33 +3113,29 @@ const VWysiwygEditor = vue.defineComponent({
|
|
|
3276
3113
|
class: 'v-wysiwyg-editor__input__prose'
|
|
3277
3114
|
}
|
|
3278
3115
|
}
|
|
3279
|
-
});
|
|
3280
|
-
|
|
3116
|
+
});
|
|
3117
|
+
// editor.value.state.doc.content
|
|
3281
3118
|
const focus = (position, options) => {
|
|
3282
3119
|
if (!editor.value) return;
|
|
3283
3120
|
return editor.value.chain().focus(position, options);
|
|
3284
3121
|
};
|
|
3285
|
-
|
|
3286
3122
|
const blur = () => {
|
|
3287
3123
|
if (!editor.value) return;
|
|
3288
3124
|
return editor.value.chain().blur();
|
|
3289
3125
|
};
|
|
3290
|
-
|
|
3291
3126
|
const wysiwygContext = vue.computed(() => {
|
|
3292
3127
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
3293
|
-
const _editor = editor.value;
|
|
3128
|
+
const _editor = editor.value;
|
|
3129
|
+
// if (!_editor) {
|
|
3294
3130
|
// throw new Error('missing editor value');
|
|
3295
3131
|
// }
|
|
3296
|
-
|
|
3297
3132
|
return {
|
|
3298
3133
|
vui,
|
|
3299
3134
|
editor: _editor
|
|
3300
3135
|
};
|
|
3301
3136
|
});
|
|
3302
|
-
|
|
3303
3137
|
const createTools = (bubbleMenu = false) => {
|
|
3304
3138
|
let _slot;
|
|
3305
|
-
|
|
3306
3139
|
const {
|
|
3307
3140
|
value: settings
|
|
3308
3141
|
} = wysiwygSettings;
|
|
@@ -3328,11 +3161,9 @@ const VWysiwygEditor = vue.defineComponent({
|
|
|
3328
3161
|
const isDisabled = !inputControl.canOperation || !!_editor && resolveContextableValue(context, disabled);
|
|
3329
3162
|
let iconName;
|
|
3330
3163
|
let child;
|
|
3331
|
-
|
|
3332
3164
|
if (typeof icon === 'function') {
|
|
3333
3165
|
if (_editor) {
|
|
3334
3166
|
const _child = icon(context);
|
|
3335
|
-
|
|
3336
3167
|
if (typeof _child === 'function') {
|
|
3337
3168
|
child = _child();
|
|
3338
3169
|
} else {
|
|
@@ -3342,7 +3173,6 @@ const VWysiwygEditor = vue.defineComponent({
|
|
|
3342
3173
|
} else {
|
|
3343
3174
|
iconName = icon;
|
|
3344
3175
|
}
|
|
3345
|
-
|
|
3346
3176
|
if (!iconName && child == null) return;
|
|
3347
3177
|
return vue.createVNode(VButton, {
|
|
3348
3178
|
"tabindex": -1,
|
|
@@ -3358,7 +3188,6 @@ const VWysiwygEditor = vue.defineComponent({
|
|
|
3358
3188
|
default: () => [_slot]
|
|
3359
3189
|
});
|
|
3360
3190
|
};
|
|
3361
|
-
|
|
3362
3191
|
vue.onBeforeUnmount(() => {
|
|
3363
3192
|
editor.value && editor.value.destroy();
|
|
3364
3193
|
});
|
|
@@ -3371,7 +3200,6 @@ const VWysiwygEditor = vue.defineComponent({
|
|
|
3371
3200
|
createTools
|
|
3372
3201
|
};
|
|
3373
3202
|
},
|
|
3374
|
-
|
|
3375
3203
|
render() {
|
|
3376
3204
|
return vue.createVNode(VFormControl, {
|
|
3377
3205
|
"nodeControl": this.nodeControl,
|
|
@@ -3390,7 +3218,8 @@ const VWysiwygEditor = vue.defineComponent({
|
|
|
3390
3218
|
scrollIntoView: true
|
|
3391
3219
|
});
|
|
3392
3220
|
}
|
|
3393
|
-
}, {
|
|
3221
|
+
}, {
|
|
3222
|
+
...this.$slots,
|
|
3394
3223
|
default: () => {
|
|
3395
3224
|
const {
|
|
3396
3225
|
editor
|
|
@@ -3403,10 +3232,10 @@ const VWysiwygEditor = vue.defineComponent({
|
|
|
3403
3232
|
"startAdornment": this.startAdornment,
|
|
3404
3233
|
"endAdornment": this.endAdornment,
|
|
3405
3234
|
"size": this.size
|
|
3406
|
-
}, {
|
|
3235
|
+
}, {
|
|
3236
|
+
...this.$slots,
|
|
3407
3237
|
default: () => {
|
|
3408
3238
|
let _slot2;
|
|
3409
|
-
|
|
3410
3239
|
return vue.createVNode("div", {
|
|
3411
3240
|
"class": "v-wysiwyg-editor__body"
|
|
3412
3241
|
}, [vue.createVNode(vue3.EditorContent, vue.mergeProps({
|
|
@@ -3432,9 +3261,7 @@ const VWysiwygEditor = vue.defineComponent({
|
|
|
3432
3261
|
}
|
|
3433
3262
|
});
|
|
3434
3263
|
}
|
|
3435
|
-
|
|
3436
3264
|
});
|
|
3437
|
-
|
|
3438
3265
|
function resolveContextableValue(ctx, source) {
|
|
3439
3266
|
return typeof source === 'function' ? source(ctx) : source;
|
|
3440
3267
|
}
|
|
@@ -3442,11 +3269,9 @@ function resolveContextableValue(ctx, source) {
|
|
|
3442
3269
|
const PROBLEM_CLASS_NAME = 'v-linter__problem';
|
|
3443
3270
|
const ISSUE_ICON_CLASS_NAME = 'v-linter__issue-icon';
|
|
3444
3271
|
const ISSUE_DATASET_NAME = 'data-issue-id';
|
|
3445
|
-
|
|
3446
3272
|
function resolveWysiwygLinterFixMessage(message) {
|
|
3447
3273
|
return typeof message === 'function' ? message() : message;
|
|
3448
3274
|
}
|
|
3449
|
-
|
|
3450
3275
|
function renderIcon(view, issue) {
|
|
3451
3276
|
const {
|
|
3452
3277
|
level = 'warning'
|
|
@@ -3455,14 +3280,11 @@ function renderIcon(view, issue) {
|
|
|
3455
3280
|
const message = resolveWysiwygLinterFixMessage(issue.message);
|
|
3456
3281
|
icon.className = `${ISSUE_ICON_CLASS_NAME} ${level}-scope`;
|
|
3457
3282
|
icon.setAttribute(ISSUE_DATASET_NAME, issue.id);
|
|
3458
|
-
|
|
3459
3283
|
if (typeof message === 'string') {
|
|
3460
3284
|
icon.title = message;
|
|
3461
3285
|
}
|
|
3462
|
-
|
|
3463
3286
|
return icon;
|
|
3464
3287
|
}
|
|
3465
|
-
|
|
3466
3288
|
function runAllLinterPlugins(doc, plugins) {
|
|
3467
3289
|
const decorations = [];
|
|
3468
3290
|
const issues = plugins.map(RegisteredLinterPlugin => {
|
|
@@ -3479,7 +3301,6 @@ function runAllLinterPlugins(doc, plugins) {
|
|
|
3479
3301
|
'data-issue-id': issue.id,
|
|
3480
3302
|
title: typeof message === 'string' ? message : undefined
|
|
3481
3303
|
}));
|
|
3482
|
-
|
|
3483
3304
|
if (icon) {
|
|
3484
3305
|
decorations.push(prosemirrorView.Decoration.widget(issue.from, view => renderIcon(view, issue)));
|
|
3485
3306
|
}
|
|
@@ -3490,7 +3311,6 @@ function runAllLinterPlugins(doc, plugins) {
|
|
|
3490
3311
|
decorationSet
|
|
3491
3312
|
};
|
|
3492
3313
|
}
|
|
3493
|
-
|
|
3494
3314
|
const WysiwygLinter = createWysiwygExtension(ctx => {
|
|
3495
3315
|
function showMenu(view, issue, event) {
|
|
3496
3316
|
const message = resolveWysiwygLinterFixMessage(issue.message);
|
|
@@ -3519,22 +3339,18 @@ const WysiwygLinter = createWysiwygExtension(ctx => {
|
|
|
3519
3339
|
}, [resolveWysiwygLinterFixMessage(fixer.message)])])]))])])
|
|
3520
3340
|
});
|
|
3521
3341
|
}
|
|
3522
|
-
|
|
3523
3342
|
return core.Extension.create({
|
|
3524
3343
|
name: 'linter',
|
|
3525
|
-
|
|
3526
3344
|
addOptions() {
|
|
3527
3345
|
return {
|
|
3528
3346
|
plugins: []
|
|
3529
3347
|
};
|
|
3530
3348
|
},
|
|
3531
|
-
|
|
3532
3349
|
addStorage() {
|
|
3533
3350
|
return {
|
|
3534
3351
|
issues: []
|
|
3535
3352
|
};
|
|
3536
3353
|
},
|
|
3537
|
-
|
|
3538
3354
|
addProseMirrorPlugins() {
|
|
3539
3355
|
const {
|
|
3540
3356
|
plugins
|
|
@@ -3542,7 +3358,6 @@ const WysiwygLinter = createWysiwygExtension(ctx => {
|
|
|
3542
3358
|
const {
|
|
3543
3359
|
storage
|
|
3544
3360
|
} = this;
|
|
3545
|
-
|
|
3546
3361
|
const runAll = doc => {
|
|
3547
3362
|
const {
|
|
3548
3363
|
issues,
|
|
@@ -3551,14 +3366,11 @@ const WysiwygLinter = createWysiwygExtension(ctx => {
|
|
|
3551
3366
|
storage.issues = issues;
|
|
3552
3367
|
return decorationSet;
|
|
3553
3368
|
};
|
|
3554
|
-
|
|
3555
3369
|
const getIssue = id => storage.issues.find(issue => issue.id === id);
|
|
3556
|
-
|
|
3557
3370
|
const getIssueElementByEvent = source => {
|
|
3558
3371
|
if (!source || !(source instanceof HTMLElement)) {
|
|
3559
3372
|
return;
|
|
3560
3373
|
}
|
|
3561
|
-
|
|
3562
3374
|
const issueId = source.getAttribute(ISSUE_DATASET_NAME);
|
|
3563
3375
|
const issue = issueId && getIssue(issueId);
|
|
3564
3376
|
if (!issue) return;
|
|
@@ -3566,7 +3378,6 @@ const WysiwygLinter = createWysiwygExtension(ctx => {
|
|
|
3566
3378
|
issue
|
|
3567
3379
|
};
|
|
3568
3380
|
};
|
|
3569
|
-
|
|
3570
3381
|
const linterPlugin = new prosemirrorState.Plugin({
|
|
3571
3382
|
key: new prosemirrorState.PluginKey('linter'),
|
|
3572
3383
|
state: {
|
|
@@ -3575,24 +3386,19 @@ const WysiwygLinter = createWysiwygExtension(ctx => {
|
|
|
3575
3386
|
}) {
|
|
3576
3387
|
return runAll(doc);
|
|
3577
3388
|
},
|
|
3578
|
-
|
|
3579
3389
|
apply(transaction, oldState) {
|
|
3580
3390
|
return transaction.docChanged ? runAll(transaction.doc) : oldState;
|
|
3581
3391
|
}
|
|
3582
|
-
|
|
3583
3392
|
},
|
|
3584
3393
|
props: {
|
|
3585
3394
|
decorations(state) {
|
|
3586
3395
|
return linterPlugin.getState(state);
|
|
3587
3396
|
},
|
|
3588
|
-
|
|
3589
3397
|
handleClick(view, _, event) {
|
|
3590
3398
|
const info = getIssueElementByEvent(event.target);
|
|
3591
|
-
|
|
3592
3399
|
if (!info) {
|
|
3593
3400
|
return false;
|
|
3594
3401
|
}
|
|
3595
|
-
|
|
3596
3402
|
const {
|
|
3597
3403
|
issue
|
|
3598
3404
|
} = info;
|
|
@@ -3600,19 +3406,15 @@ const WysiwygLinter = createWysiwygExtension(ctx => {
|
|
|
3600
3406
|
from,
|
|
3601
3407
|
to
|
|
3602
3408
|
} = issue;
|
|
3603
|
-
|
|
3604
3409
|
const focus = () => view.dispatch(view.state.tr.setSelection(prosemirrorState.TextSelection.create(view.state.doc, from, to)).scrollIntoView());
|
|
3605
|
-
|
|
3606
3410
|
focus();
|
|
3607
3411
|
showMenu(view, issue, event);
|
|
3608
3412
|
return true;
|
|
3609
3413
|
}
|
|
3610
|
-
|
|
3611
3414
|
}
|
|
3612
3415
|
});
|
|
3613
3416
|
return [linterPlugin];
|
|
3614
3417
|
}
|
|
3615
|
-
|
|
3616
3418
|
});
|
|
3617
3419
|
});
|
|
3618
3420
|
|
|
@@ -3675,9 +3477,7 @@ function WysiwygLinterBadWords(words) {
|
|
|
3675
3477
|
if (!node.isText) {
|
|
3676
3478
|
return;
|
|
3677
3479
|
}
|
|
3678
|
-
|
|
3679
3480
|
const matches = regex.exec(node.text);
|
|
3680
|
-
|
|
3681
3481
|
if (matches) {
|
|
3682
3482
|
const fixValue = matches[0] + '!!!!!';
|
|
3683
3483
|
this.record({
|
|
@@ -3701,7 +3501,6 @@ function WysiwygLinterBadWords(words) {
|
|
|
3701
3501
|
});
|
|
3702
3502
|
return this;
|
|
3703
3503
|
}
|
|
3704
|
-
|
|
3705
3504
|
};
|
|
3706
3505
|
}
|
|
3707
3506
|
|
|
@@ -3989,13 +3788,11 @@ function createWysiwygColorTool(opts) {
|
|
|
3989
3788
|
color
|
|
3990
3789
|
} = item;
|
|
3991
3790
|
let command = ctx.editor.chain().focus();
|
|
3992
|
-
|
|
3993
3791
|
if (color) {
|
|
3994
3792
|
command = command.setColor(color);
|
|
3995
3793
|
} else {
|
|
3996
3794
|
command = command.unsetColor();
|
|
3997
3795
|
}
|
|
3998
|
-
|
|
3999
3796
|
command.run();
|
|
4000
3797
|
stack.close();
|
|
4001
3798
|
}
|
|
@@ -4010,11 +3807,10 @@ function createWysiwygColorTool(opts) {
|
|
|
4010
3807
|
});
|
|
4011
3808
|
},
|
|
4012
3809
|
floating: true,
|
|
4013
|
-
extensions: [
|
|
3810
|
+
extensions: [TextStyle, WysiwygColorExtension]
|
|
4014
3811
|
};
|
|
4015
3812
|
return tool;
|
|
4016
3813
|
};
|
|
4017
|
-
|
|
4018
3814
|
return WysiwygColorTool;
|
|
4019
3815
|
}
|
|
4020
3816
|
|
|
@@ -4025,17 +3821,18 @@ const {
|
|
|
4025
3821
|
nodeType: VUI_FORM_SYMBOL
|
|
4026
3822
|
});
|
|
4027
3823
|
function createVFormProps() {
|
|
4028
|
-
return {
|
|
3824
|
+
return {
|
|
3825
|
+
...props,
|
|
4029
3826
|
...createControlProps(),
|
|
4030
|
-
...vueKit.defineSlotsProps()
|
|
4031
|
-
|
|
3827
|
+
...vueKit.defineSlotsProps()
|
|
3828
|
+
// disableAutoScroll: Boolean,
|
|
4032
3829
|
};
|
|
4033
3830
|
}
|
|
4034
|
-
|
|
3831
|
+
|
|
3832
|
+
const VForm = /* @__PURE__ */ vue.defineComponent({
|
|
4035
3833
|
name: 'VForm',
|
|
4036
3834
|
props: createVFormProps(),
|
|
4037
3835
|
emits,
|
|
4038
|
-
|
|
4039
3836
|
setup(props, ctx) {
|
|
4040
3837
|
const vui = useVui();
|
|
4041
3838
|
const nodeControl = vueKit.useForm(props, ctx, {
|
|
@@ -4058,11 +3855,11 @@ const VForm = vue.defineComponent({
|
|
|
4058
3855
|
}];
|
|
4059
3856
|
});
|
|
4060
3857
|
useControl(props);
|
|
4061
|
-
return {
|
|
3858
|
+
return {
|
|
3859
|
+
...nodeControl.expose(),
|
|
4062
3860
|
classes
|
|
4063
3861
|
};
|
|
4064
3862
|
},
|
|
4065
|
-
|
|
4066
3863
|
render() {
|
|
4067
3864
|
const {
|
|
4068
3865
|
form
|
|
@@ -4075,14 +3872,12 @@ const VForm = vue.defineComponent({
|
|
|
4075
3872
|
"onSubmit": form.handleSubmit
|
|
4076
3873
|
}, [vueKit.renderSlotOrEmpty(this.$slots, 'default', form)]);
|
|
4077
3874
|
}
|
|
4078
|
-
|
|
4079
3875
|
});
|
|
4080
3876
|
|
|
4081
3877
|
function _isSlot$6(s) {
|
|
4082
3878
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
4083
3879
|
}
|
|
4084
|
-
|
|
4085
|
-
const VTab = vue.defineComponent({
|
|
3880
|
+
const VTab = /* @__PURE__ */ vue.defineComponent({
|
|
4086
3881
|
name: 'VTab',
|
|
4087
3882
|
props: {
|
|
4088
3883
|
value: {
|
|
@@ -4096,7 +3891,6 @@ const VTab = vue.defineComponent({
|
|
|
4096
3891
|
emits: {
|
|
4097
3892
|
click: ev => true
|
|
4098
3893
|
},
|
|
4099
|
-
|
|
4100
3894
|
setup(props, ctx) {
|
|
4101
3895
|
const classesRef = vue.computed(() => ({
|
|
4102
3896
|
'v-tab--active': props.active
|
|
@@ -4114,13 +3908,11 @@ const VTab = vue.defineComponent({
|
|
|
4114
3908
|
active
|
|
4115
3909
|
} = props;
|
|
4116
3910
|
const classes = ['v-tab', classesRef.value];
|
|
4117
|
-
|
|
4118
3911
|
const children = vue.createVNode("span", {
|
|
4119
3912
|
"class": "v-tab__content"
|
|
4120
3913
|
}, [icon && resolveRawIconProp(active, icon, {
|
|
4121
3914
|
class: 'v-tab__icon'
|
|
4122
3915
|
}), vueUtils.renderSlotOrEmpty(ctx.slots)]);
|
|
4123
|
-
|
|
4124
3916
|
if (to) {
|
|
4125
3917
|
const replace = typeof to === 'string' ? undefined : to.replace;
|
|
4126
3918
|
return vue.createVNode(vueRouter.RouterLink, {
|
|
@@ -4142,23 +3934,21 @@ const VTab = vue.defineComponent({
|
|
|
4142
3934
|
}
|
|
4143
3935
|
};
|
|
4144
3936
|
}
|
|
4145
|
-
|
|
4146
3937
|
});
|
|
4147
3938
|
|
|
4148
3939
|
function _isSlot$5(s) {
|
|
4149
3940
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
4150
3941
|
}
|
|
4151
|
-
|
|
4152
|
-
const VTabs = vue.defineComponent({
|
|
3942
|
+
const VTabs = /* @__PURE__ */ vue.defineComponent({
|
|
4153
3943
|
name: 'VTabs',
|
|
4154
3944
|
props: {
|
|
4155
3945
|
modelValue: String,
|
|
4156
3946
|
items: {
|
|
4157
3947
|
type: Array,
|
|
4158
|
-
required: true
|
|
3948
|
+
required: true
|
|
3949
|
+
// validator: (value: VTabsItem[]) => {
|
|
4159
3950
|
// return Array.isArray(value) && value.length > 0;
|
|
4160
3951
|
// },
|
|
4161
|
-
|
|
4162
3952
|
},
|
|
4163
3953
|
|
|
4164
3954
|
/**
|
|
@@ -4168,12 +3958,10 @@ const VTabs = vue.defineComponent({
|
|
|
4168
3958
|
type: Number,
|
|
4169
3959
|
default: 20
|
|
4170
3960
|
},
|
|
4171
|
-
|
|
4172
3961
|
/**
|
|
4173
3962
|
* ルーター同期する場合設定する
|
|
4174
3963
|
*/
|
|
4175
3964
|
router: Function,
|
|
4176
|
-
|
|
4177
3965
|
/**
|
|
4178
3966
|
* ルーティング連携を行う際に、クエリベースのURLマッチングを行う
|
|
4179
3967
|
* タブのURLが /page1?tab=xxx のようになる時に設定する
|
|
@@ -4187,7 +3975,6 @@ const VTabs = vue.defineComponent({
|
|
|
4187
3975
|
'update:modelValue': newValue => true,
|
|
4188
3976
|
change: newValue => true
|
|
4189
3977
|
},
|
|
4190
|
-
|
|
4191
3978
|
setup(props, ctx) {
|
|
4192
3979
|
const vui = useVui();
|
|
4193
3980
|
const internalValueRef = vue.ref(null);
|
|
@@ -4220,7 +4007,6 @@ const VTabs = vue.defineComponent({
|
|
|
4220
4007
|
} = item;
|
|
4221
4008
|
const active = current === value;
|
|
4222
4009
|
let location;
|
|
4223
|
-
|
|
4224
4010
|
if (router) {
|
|
4225
4011
|
const to = router(value);
|
|
4226
4012
|
const route = vui.router.resolve(to);
|
|
@@ -4229,31 +4015,26 @@ const VTabs = vue.defineComponent({
|
|
|
4229
4015
|
route
|
|
4230
4016
|
};
|
|
4231
4017
|
}
|
|
4232
|
-
|
|
4233
|
-
|
|
4018
|
+
return {
|
|
4019
|
+
...item,
|
|
4234
4020
|
active,
|
|
4235
4021
|
location
|
|
4236
4022
|
};
|
|
4237
4023
|
});
|
|
4238
4024
|
});
|
|
4239
|
-
|
|
4240
4025
|
const setTabRef = ref => {
|
|
4241
4026
|
tabRefs.value.push(ref);
|
|
4242
|
-
};
|
|
4243
|
-
|
|
4244
|
-
|
|
4027
|
+
};
|
|
4028
|
+
// const isMountedRef = ref(false);
|
|
4245
4029
|
function setupInternalValue(routable) {
|
|
4246
4030
|
let value = props.modelValue;
|
|
4247
|
-
|
|
4248
4031
|
if (value == null || value === '') {
|
|
4249
4032
|
const firstItem = props.items[0];
|
|
4250
4033
|
if (!firstItem) return;
|
|
4251
4034
|
value = firstItem.value;
|
|
4252
4035
|
}
|
|
4253
|
-
|
|
4254
4036
|
if (internalValueRef.value !== value) {
|
|
4255
4037
|
internalValueRef.value = value;
|
|
4256
|
-
|
|
4257
4038
|
if (routable) {
|
|
4258
4039
|
const {
|
|
4259
4040
|
router
|
|
@@ -4277,48 +4058,37 @@ const VTabs = vue.defineComponent({
|
|
|
4277
4058
|
}
|
|
4278
4059
|
}
|
|
4279
4060
|
}
|
|
4280
|
-
|
|
4281
4061
|
async function to(value) {
|
|
4282
4062
|
const {
|
|
4283
4063
|
value: currentValue
|
|
4284
4064
|
} = currentRef;
|
|
4285
|
-
|
|
4286
4065
|
if (currentValue === value) {
|
|
4287
4066
|
return;
|
|
4288
4067
|
}
|
|
4289
|
-
|
|
4290
4068
|
const {
|
|
4291
4069
|
onBeforeChange
|
|
4292
4070
|
} = props;
|
|
4293
|
-
|
|
4294
4071
|
if (onBeforeChange) {
|
|
4295
4072
|
let result = onBeforeChange(value, currentRef.value);
|
|
4296
|
-
|
|
4297
4073
|
if (helpers.isPromise(result)) {
|
|
4298
4074
|
result = await result;
|
|
4299
4075
|
}
|
|
4300
|
-
|
|
4301
4076
|
console.log(result);
|
|
4302
|
-
|
|
4303
4077
|
if (result === false) {
|
|
4304
4078
|
return;
|
|
4305
4079
|
}
|
|
4306
4080
|
}
|
|
4307
|
-
|
|
4308
4081
|
currentRef.value = value;
|
|
4309
4082
|
}
|
|
4310
|
-
|
|
4311
4083
|
function cancelScroll() {
|
|
4312
4084
|
if (scrollResult) {
|
|
4313
4085
|
scrollResult.cancel();
|
|
4314
4086
|
scrollResult = undefined;
|
|
4315
4087
|
}
|
|
4316
4088
|
}
|
|
4317
|
-
|
|
4318
4089
|
const findTab = tab => {
|
|
4319
4090
|
return tabRefs.value.find(t => t.value === tab);
|
|
4320
4091
|
};
|
|
4321
|
-
|
|
4322
4092
|
function scrollToTab(tabValue) {
|
|
4323
4093
|
const tab = findTab(tabValue);
|
|
4324
4094
|
if (!tab) return;
|
|
@@ -4345,15 +4115,12 @@ const VTabs = vue.defineComponent({
|
|
|
4345
4115
|
if (hiddenLeft > 0) hiddenLeft += autoScrollOffset;
|
|
4346
4116
|
if (hiddenRight > 0) hiddenRight += autoScrollOffset;
|
|
4347
4117
|
let scrollAmmount = 0;
|
|
4348
|
-
|
|
4349
4118
|
if (hiddenRight > 0) {
|
|
4350
4119
|
scrollAmmount = hiddenRight;
|
|
4351
4120
|
}
|
|
4352
|
-
|
|
4353
4121
|
if (hiddenLeft > 0) {
|
|
4354
4122
|
scrollAmmount = -hiddenLeft;
|
|
4355
4123
|
}
|
|
4356
|
-
|
|
4357
4124
|
if (Math.abs(scrollAmmount) > 0) {
|
|
4358
4125
|
cancelScroll();
|
|
4359
4126
|
scrollResult = scroller.scroller.by(scrollAmmount, 0, {
|
|
@@ -4361,7 +4128,6 @@ const VTabs = vue.defineComponent({
|
|
|
4361
4128
|
});
|
|
4362
4129
|
}
|
|
4363
4130
|
}
|
|
4364
|
-
|
|
4365
4131
|
vue.watch(() => props.modelValue, () => setupInternalValue(true));
|
|
4366
4132
|
vue.watch(() => props.items, () => setupInternalValue(), {
|
|
4367
4133
|
deep: true
|
|
@@ -4377,7 +4143,6 @@ const VTabs = vue.defineComponent({
|
|
|
4377
4143
|
}) => {
|
|
4378
4144
|
return location && location.route.fullPath === path;
|
|
4379
4145
|
});
|
|
4380
|
-
|
|
4381
4146
|
if (hit) {
|
|
4382
4147
|
currentRef.value = hit.value;
|
|
4383
4148
|
}
|
|
@@ -4407,15 +4172,12 @@ const VTabs = vue.defineComponent({
|
|
|
4407
4172
|
if (!label) {
|
|
4408
4173
|
label = itemSlot;
|
|
4409
4174
|
}
|
|
4410
|
-
|
|
4411
4175
|
const children = typeof label === 'function' ? label({
|
|
4412
4176
|
value,
|
|
4413
4177
|
active,
|
|
4414
4178
|
vui
|
|
4415
4179
|
}) : label;
|
|
4416
|
-
|
|
4417
4180
|
const _to = location && location.to || undefined;
|
|
4418
|
-
|
|
4419
4181
|
return vue.createVNode(VTab, {
|
|
4420
4182
|
"value": value,
|
|
4421
4183
|
"to": _to,
|
|
@@ -4446,22 +4208,20 @@ const VTabs = vue.defineComponent({
|
|
|
4446
4208
|
})]);
|
|
4447
4209
|
};
|
|
4448
4210
|
}
|
|
4449
|
-
|
|
4450
4211
|
});
|
|
4451
4212
|
|
|
4452
4213
|
function _isSlot$4(s) {
|
|
4453
4214
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
4454
4215
|
}
|
|
4455
|
-
|
|
4456
|
-
const VBreadcrumbs = vue.defineComponent({
|
|
4216
|
+
const VBreadcrumbs = /* @__PURE__ */ vue.defineComponent({
|
|
4457
4217
|
name: 'VBreadcrumbs',
|
|
4458
4218
|
props: {
|
|
4459
4219
|
items: {
|
|
4460
4220
|
type: Array,
|
|
4461
4221
|
default: () => []
|
|
4462
4222
|
},
|
|
4463
|
-
divider: [String, Function]
|
|
4464
|
-
|
|
4223
|
+
divider: [String, Function]
|
|
4224
|
+
// ...defineSlotsProps<{}>(),
|
|
4465
4225
|
},
|
|
4466
4226
|
|
|
4467
4227
|
setup(props, ctx) {
|
|
@@ -4480,31 +4240,28 @@ const VBreadcrumbs = vue.defineComponent({
|
|
|
4480
4240
|
const {
|
|
4481
4241
|
disabled = vui.location.match(to) || !vui.location.isAvailable(to)
|
|
4482
4242
|
} = item;
|
|
4483
|
-
return {
|
|
4243
|
+
return {
|
|
4244
|
+
...item,
|
|
4484
4245
|
disabled,
|
|
4485
4246
|
text: typeof text === 'function' ? text(vui) : text
|
|
4486
4247
|
};
|
|
4487
4248
|
});
|
|
4488
4249
|
});
|
|
4489
4250
|
const lengthRef = vue.computed(() => computedItemsRef.value.length);
|
|
4490
|
-
|
|
4491
4251
|
const defaultDividerSlot = () => {
|
|
4492
4252
|
return [vue.createVNode("i", {
|
|
4493
4253
|
"class": "v-breadcrumbs__divider__icon"
|
|
4494
4254
|
}, null)];
|
|
4495
4255
|
};
|
|
4496
|
-
|
|
4497
4256
|
return () => {
|
|
4498
4257
|
if (lengthRef.value < 1) return;
|
|
4499
4258
|
let dividerSlot;
|
|
4500
4259
|
const propDivider = props.divider;
|
|
4501
|
-
|
|
4502
4260
|
if (propDivider) {
|
|
4503
4261
|
dividerSlot = typeof propDivider === 'function' ? propDivider : () => propDivider;
|
|
4504
4262
|
} else {
|
|
4505
4263
|
dividerSlot = defaultDividerSlot;
|
|
4506
4264
|
}
|
|
4507
|
-
|
|
4508
4265
|
const children = [];
|
|
4509
4266
|
computedItemsRef.value.forEach((item, index) => {
|
|
4510
4267
|
const {
|
|
@@ -4513,10 +4270,8 @@ const VBreadcrumbs = vue.defineComponent({
|
|
|
4513
4270
|
disabled,
|
|
4514
4271
|
to
|
|
4515
4272
|
} = item;
|
|
4516
|
-
|
|
4517
4273
|
if (index > 0) {
|
|
4518
4274
|
const divider = dividerSlot(vui);
|
|
4519
|
-
|
|
4520
4275
|
if (divider) {
|
|
4521
4276
|
children.push(vue.createVNode("li", {
|
|
4522
4277
|
"class": "v-breadcrumbs__divider",
|
|
@@ -4524,19 +4279,15 @@ const VBreadcrumbs = vue.defineComponent({
|
|
|
4524
4279
|
}, [divider]));
|
|
4525
4280
|
}
|
|
4526
4281
|
}
|
|
4527
|
-
|
|
4528
4282
|
const myChildren = [];
|
|
4529
|
-
|
|
4530
4283
|
if (icon) {
|
|
4531
4284
|
const $icon = resolveRawIconProp(false, icon, {
|
|
4532
4285
|
class: 'v-breadcrumbs__icon'
|
|
4533
4286
|
});
|
|
4534
|
-
|
|
4535
4287
|
if ($icon) {
|
|
4536
4288
|
myChildren.push($icon);
|
|
4537
4289
|
}
|
|
4538
4290
|
}
|
|
4539
|
-
|
|
4540
4291
|
if (text) myChildren.push(text);
|
|
4541
4292
|
const itemChild = to ? vue.createVNode(vueUtils.VLink, {
|
|
4542
4293
|
"class": "v-breadcrumbs__link",
|
|
@@ -4559,14 +4310,12 @@ const VBreadcrumbs = vue.defineComponent({
|
|
|
4559
4310
|
}, [children])]);
|
|
4560
4311
|
};
|
|
4561
4312
|
}
|
|
4562
|
-
|
|
4563
4313
|
});
|
|
4564
4314
|
|
|
4565
4315
|
function _isSlot$3(s) {
|
|
4566
4316
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
4567
4317
|
}
|
|
4568
|
-
|
|
4569
|
-
const VContentSwitcher = vue.defineComponent({
|
|
4318
|
+
const VContentSwitcher = /* @__PURE__ */ vue.defineComponent({
|
|
4570
4319
|
name: 'VContentSwitcher',
|
|
4571
4320
|
props: {
|
|
4572
4321
|
modelValue: String,
|
|
@@ -4579,7 +4328,6 @@ const VContentSwitcher = vue.defineComponent({
|
|
|
4579
4328
|
emits: {
|
|
4580
4329
|
'update:modelValue': modelValue => true
|
|
4581
4330
|
},
|
|
4582
|
-
|
|
4583
4331
|
setup(props, ctx) {
|
|
4584
4332
|
const internalValueRef = vue.ref('');
|
|
4585
4333
|
const transitionRef = vue.ref('');
|
|
@@ -4603,31 +4351,26 @@ const VContentSwitcher = vue.defineComponent({
|
|
|
4603
4351
|
} = props;
|
|
4604
4352
|
if (settings === true) settings = {};
|
|
4605
4353
|
if (!settings) return;
|
|
4606
|
-
return {
|
|
4354
|
+
return {
|
|
4355
|
+
...settings
|
|
4607
4356
|
};
|
|
4608
4357
|
});
|
|
4609
|
-
|
|
4610
4358
|
function seeTop(options) {
|
|
4611
4359
|
const scoller = vueScroller.getDocumentScroller();
|
|
4612
4360
|
const {
|
|
4613
4361
|
value: anchor
|
|
4614
4362
|
} = anchorRef;
|
|
4615
|
-
|
|
4616
4363
|
if (anchor) {
|
|
4617
4364
|
scoller.toElement(anchor, options);
|
|
4618
4365
|
}
|
|
4619
4366
|
}
|
|
4620
|
-
|
|
4621
4367
|
function getEl() {
|
|
4622
4368
|
const el = elRef.value;
|
|
4623
|
-
|
|
4624
4369
|
if (!el) {
|
|
4625
4370
|
throw new Error('missing element');
|
|
4626
4371
|
}
|
|
4627
|
-
|
|
4628
4372
|
return el;
|
|
4629
4373
|
}
|
|
4630
|
-
|
|
4631
4374
|
vue.watch(() => props.modelValue, (value, beforeValue) => {
|
|
4632
4375
|
if (value == null) return;
|
|
4633
4376
|
internalValueRef.value = value;
|
|
@@ -4636,19 +4379,16 @@ const VContentSwitcher = vue.defineComponent({
|
|
|
4636
4379
|
const index = order.indexOf(value);
|
|
4637
4380
|
const beforeIndex = order.indexOf(beforeValue);
|
|
4638
4381
|
let transition = 'fade';
|
|
4639
|
-
|
|
4640
4382
|
if (index !== -1 && beforeIndex !== -1) {
|
|
4641
4383
|
if (index > beforeIndex) transition = 'v-content-switcher-next';
|
|
4642
4384
|
if (index < beforeIndex) transition = 'v-content-switcher-prev';
|
|
4643
4385
|
}
|
|
4644
|
-
|
|
4645
4386
|
transitionRef.value = transition;
|
|
4646
4387
|
}, {
|
|
4647
4388
|
immediate: true
|
|
4648
4389
|
});
|
|
4649
4390
|
vue.watch(currentRef, () => {
|
|
4650
4391
|
const autotopSettings = autotopSettingsRef.value;
|
|
4651
|
-
|
|
4652
4392
|
if (autotopSettings && props.modelValue != null) {
|
|
4653
4393
|
seeTop(autotopSettings);
|
|
4654
4394
|
}
|
|
@@ -4657,14 +4397,12 @@ const VContentSwitcher = vue.defineComponent({
|
|
|
4657
4397
|
const current = currentRef.value;
|
|
4658
4398
|
const children = vueUtils.renderSlotOrEmpty(ctx.slots) || [];
|
|
4659
4399
|
const currentSlot = ctx.slots[current];
|
|
4660
|
-
|
|
4661
4400
|
if (currentSlot) {
|
|
4662
4401
|
children.push(vue.createVNode("div", {
|
|
4663
4402
|
"class": "v-content-switcher__content",
|
|
4664
4403
|
"key": current
|
|
4665
4404
|
}, [currentSlot(this)]));
|
|
4666
4405
|
}
|
|
4667
|
-
|
|
4668
4406
|
return vue.createVNode("div", {
|
|
4669
4407
|
"class": "v-content-switcher",
|
|
4670
4408
|
"ref": elRef
|
|
@@ -4693,7 +4431,6 @@ const VContentSwitcher = vue.defineComponent({
|
|
|
4693
4431
|
})]);
|
|
4694
4432
|
};
|
|
4695
4433
|
}
|
|
4696
|
-
|
|
4697
4434
|
});
|
|
4698
4435
|
|
|
4699
4436
|
const DATA_TABLE_DEFAULTS = {
|
|
@@ -4712,13 +4449,12 @@ const DATA_TABLE_DEFAULTS = {
|
|
|
4712
4449
|
};
|
|
4713
4450
|
function configureDataTableDefaults(defaults) {
|
|
4714
4451
|
Object.assign(DATA_TABLE_DEFAULTS, defaults);
|
|
4715
|
-
|
|
4716
4452
|
if (!defaults.defaultOrder && defaults.ascQueryValue) {
|
|
4717
4453
|
DATA_TABLE_DEFAULTS.defaultOrder = defaults.ascQueryValue;
|
|
4718
4454
|
}
|
|
4719
4455
|
}
|
|
4720
4456
|
const SELECTABLE_HEADER_SYMBOL = '__selectable_header__';
|
|
4721
|
-
const VDataTable = vue.defineComponent({
|
|
4457
|
+
const VDataTable = /* @__PURE__ */ vue.defineComponent({
|
|
4722
4458
|
name: 'VDataTable',
|
|
4723
4459
|
props: {
|
|
4724
4460
|
/** 選択中のkeyの配列 */
|
|
@@ -4730,7 +4466,6 @@ const VDataTable = vue.defineComponent({
|
|
|
4730
4466
|
type: String,
|
|
4731
4467
|
default: () => DATA_TABLE_DEFAULTS.itemKey
|
|
4732
4468
|
},
|
|
4733
|
-
|
|
4734
4469
|
/**
|
|
4735
4470
|
* ページネーションクエリ名
|
|
4736
4471
|
*/
|
|
@@ -4738,7 +4473,6 @@ const VDataTable = vue.defineComponent({
|
|
|
4738
4473
|
type: String,
|
|
4739
4474
|
default: () => DATA_TABLE_DEFAULTS.pageQuery
|
|
4740
4475
|
},
|
|
4741
|
-
|
|
4742
4476
|
/**
|
|
4743
4477
|
* ソートクエリ名
|
|
4744
4478
|
*/
|
|
@@ -4746,7 +4480,6 @@ const VDataTable = vue.defineComponent({
|
|
|
4746
4480
|
type: String,
|
|
4747
4481
|
default: () => DATA_TABLE_DEFAULTS.sortQuery
|
|
4748
4482
|
},
|
|
4749
|
-
|
|
4750
4483
|
/**
|
|
4751
4484
|
* 表示順クエリ名
|
|
4752
4485
|
*/
|
|
@@ -4754,7 +4487,6 @@ const VDataTable = vue.defineComponent({
|
|
|
4754
4487
|
type: String,
|
|
4755
4488
|
default: () => DATA_TABLE_DEFAULTS.orderQuery
|
|
4756
4489
|
},
|
|
4757
|
-
|
|
4758
4490
|
/**
|
|
4759
4491
|
* 検索クエリ名
|
|
4760
4492
|
*/
|
|
@@ -4762,7 +4494,6 @@ const VDataTable = vue.defineComponent({
|
|
|
4762
4494
|
type: [String, Array],
|
|
4763
4495
|
default: () => DATA_TABLE_DEFAULTS.searchQuery
|
|
4764
4496
|
},
|
|
4765
|
-
|
|
4766
4497
|
/**
|
|
4767
4498
|
* リミット件数クエリ名
|
|
4768
4499
|
*/
|
|
@@ -4817,7 +4548,6 @@ const VDataTable = vue.defineComponent({
|
|
|
4817
4548
|
emits: {
|
|
4818
4549
|
input: selecteds => true
|
|
4819
4550
|
},
|
|
4820
|
-
|
|
4821
4551
|
setup(props, ctx) {
|
|
4822
4552
|
const vui = useVui();
|
|
4823
4553
|
const bootedRef = vue.ref(false);
|
|
@@ -4831,13 +4561,11 @@ const VDataTable = vue.defineComponent({
|
|
|
4831
4561
|
selectable
|
|
4832
4562
|
} = props;
|
|
4833
4563
|
const ret = [];
|
|
4834
|
-
|
|
4835
4564
|
if (selectable) {
|
|
4836
4565
|
ret.push({
|
|
4837
4566
|
key: SELECTABLE_HEADER_SYMBOL
|
|
4838
4567
|
});
|
|
4839
4568
|
}
|
|
4840
|
-
|
|
4841
4569
|
ret.push(...headers.filter(h => !h.hidden));
|
|
4842
4570
|
return ret;
|
|
4843
4571
|
});
|
|
@@ -4845,34 +4573,27 @@ const VDataTable = vue.defineComponent({
|
|
|
4845
4573
|
let {
|
|
4846
4574
|
searchQuery
|
|
4847
4575
|
} = props;
|
|
4848
|
-
|
|
4849
4576
|
if (!searchQuery) {
|
|
4850
4577
|
return [];
|
|
4851
4578
|
}
|
|
4852
|
-
|
|
4853
4579
|
if (!Array.isArray(searchQuery)) {
|
|
4854
4580
|
searchQuery = [searchQuery];
|
|
4855
4581
|
}
|
|
4856
|
-
|
|
4857
4582
|
const values = [];
|
|
4858
4583
|
searchQuery.forEach(query => {
|
|
4859
4584
|
const value = vui.location.getQuery(query);
|
|
4860
|
-
|
|
4861
4585
|
if (value == null || value === '') {
|
|
4862
4586
|
return;
|
|
4863
4587
|
}
|
|
4864
|
-
|
|
4865
4588
|
if (typeof value === 'object' && !Object.keys(value).length) {
|
|
4866
4589
|
return;
|
|
4867
4590
|
}
|
|
4868
|
-
|
|
4869
4591
|
values.push(value);
|
|
4870
4592
|
});
|
|
4871
4593
|
return values;
|
|
4872
4594
|
});
|
|
4873
4595
|
const emptyMessage = vue.computed(() => {
|
|
4874
4596
|
let message;
|
|
4875
|
-
|
|
4876
4597
|
if (searchQueryValues.value.length) {
|
|
4877
4598
|
message = props.noResultsMessage || vui.setting('noResultsMessage') || 'No search results found.'; // 検索結果が見つかりませんでした。
|
|
4878
4599
|
} else {
|
|
@@ -4892,13 +4613,10 @@ const VDataTable = vue.defineComponent({
|
|
|
4892
4613
|
maxHeight
|
|
4893
4614
|
} = props;
|
|
4894
4615
|
const footerHeight = footerHeightRef.value;
|
|
4895
|
-
|
|
4896
4616
|
const _maxHeight = maxHeight || (fixedHeader ? '100%' : maxHeight);
|
|
4897
|
-
|
|
4898
4617
|
if (!_maxHeight) {
|
|
4899
4618
|
return;
|
|
4900
4619
|
}
|
|
4901
|
-
|
|
4902
4620
|
return {
|
|
4903
4621
|
maxHeight: layout.calicurateViewHeight(_maxHeight, -footerHeight - 100, 200)
|
|
4904
4622
|
};
|
|
@@ -4913,35 +4631,29 @@ const VDataTable = vue.defineComponent({
|
|
|
4913
4631
|
get: () => {
|
|
4914
4632
|
return vui.location.getQuery(props.sortQuery);
|
|
4915
4633
|
},
|
|
4916
|
-
|
|
4917
4634
|
set(value) {
|
|
4918
4635
|
vui.location.pushQuery({
|
|
4919
4636
|
[props.sortQuery]: value || null,
|
|
4920
4637
|
[props.pageQuery]: 1
|
|
4921
4638
|
});
|
|
4922
4639
|
}
|
|
4923
|
-
|
|
4924
4640
|
});
|
|
4925
4641
|
const ordersRef = vue.computed(() => [props.ascQueryValue, props.descQueryValue]);
|
|
4926
4642
|
const usePaigingRef = vue.computed(() => props.limits.length > 0);
|
|
4927
4643
|
const orderByRef = vue.computed({
|
|
4928
4644
|
get: () => {
|
|
4929
4645
|
const value = vui.location.getQuery(props.orderQuery);
|
|
4930
|
-
|
|
4931
4646
|
if (typeof value !== 'string' || !ordersRef.value.includes(value)) {
|
|
4932
4647
|
return;
|
|
4933
4648
|
}
|
|
4934
|
-
|
|
4935
4649
|
return value;
|
|
4936
4650
|
},
|
|
4937
|
-
|
|
4938
4651
|
set(value) {
|
|
4939
4652
|
vui.location.pushQuery({
|
|
4940
4653
|
[props.orderQuery]: value || null,
|
|
4941
4654
|
[props.pageQuery]: 1
|
|
4942
4655
|
});
|
|
4943
4656
|
}
|
|
4944
|
-
|
|
4945
4657
|
});
|
|
4946
4658
|
const offsetRef = vue.computed(() => (pageRef.value - 1) * limitRef.value);
|
|
4947
4659
|
const limitRef = vue.computed({
|
|
@@ -4963,14 +4675,12 @@ const VDataTable = vue.defineComponent({
|
|
|
4963
4675
|
return Math.ceil(total / _limit);
|
|
4964
4676
|
});
|
|
4965
4677
|
const lengthRef = vue.computed(() => props.items.length);
|
|
4966
|
-
const isASCRef = vue.computed(() => orderByRef.value === props.ascQueryValue);
|
|
4967
|
-
|
|
4678
|
+
const isASCRef = vue.computed(() => orderByRef.value === props.ascQueryValue);
|
|
4679
|
+
// const isDESCRef = computed(() => orderByRef.value === props.descQueryValue);
|
|
4968
4680
|
const sortIconRef = vue.computed(() => {
|
|
4969
4681
|
let icon = vui.icon('sort');
|
|
4970
|
-
|
|
4971
4682
|
if (typeof icon === 'string') {
|
|
4972
4683
|
const name = icon;
|
|
4973
|
-
|
|
4974
4684
|
icon = gen => {
|
|
4975
4685
|
return gen({
|
|
4976
4686
|
name,
|
|
@@ -4978,7 +4688,6 @@ const VDataTable = vue.defineComponent({
|
|
|
4978
4688
|
});
|
|
4979
4689
|
};
|
|
4980
4690
|
}
|
|
4981
|
-
|
|
4982
4691
|
return icon;
|
|
4983
4692
|
});
|
|
4984
4693
|
const isIndeterminateRef = vue.computed(() => {
|
|
@@ -4988,7 +4697,6 @@ const VDataTable = vue.defineComponent({
|
|
|
4988
4697
|
return length > 0 && length < sortedItemKeysRef.value.length;
|
|
4989
4698
|
});
|
|
4990
4699
|
const isAllSelectedRef = vue.computed(() => internalValues.value.length === sortedItemKeysRef.value.length);
|
|
4991
|
-
|
|
4992
4700
|
function setSort(settings) {
|
|
4993
4701
|
const {
|
|
4994
4702
|
sort,
|
|
@@ -4996,32 +4704,27 @@ const VDataTable = vue.defineComponent({
|
|
|
4996
4704
|
} = settings;
|
|
4997
4705
|
if ((sort === undefined || sortByRef.value === sort) && (order === undefined || orderByRef.value === order)) return;
|
|
4998
4706
|
const queries = {};
|
|
4999
|
-
|
|
5000
4707
|
if (sort) {
|
|
5001
4708
|
queries[props.sortQuery] = sort;
|
|
5002
4709
|
}
|
|
5003
|
-
|
|
5004
4710
|
if (order) {
|
|
5005
4711
|
queries[props.orderQuery] = order;
|
|
5006
4712
|
}
|
|
5007
|
-
|
|
5008
|
-
|
|
4713
|
+
vui.location.pushQuery({
|
|
4714
|
+
...queries,
|
|
5009
4715
|
...(usePaigingRef.value ? {
|
|
5010
4716
|
[props.pageQuery]: 1
|
|
5011
4717
|
} : undefined)
|
|
5012
4718
|
});
|
|
5013
4719
|
}
|
|
5014
|
-
|
|
5015
4720
|
function toggleOrderBy() {
|
|
5016
4721
|
return setSort({
|
|
5017
4722
|
order: orderByRef.value === props.ascQueryValue ? props.descQueryValue : props.ascQueryValue
|
|
5018
4723
|
});
|
|
5019
4724
|
}
|
|
5020
|
-
|
|
5021
4725
|
function isSelected(key) {
|
|
5022
4726
|
return internalValues.value.includes(key);
|
|
5023
4727
|
}
|
|
5024
|
-
|
|
5025
4728
|
function select(key) {
|
|
5026
4729
|
if (!internalValues.value.includes(key)) {
|
|
5027
4730
|
const values = internalValues.value.slice();
|
|
@@ -5038,7 +4741,6 @@ const VDataTable = vue.defineComponent({
|
|
|
5038
4741
|
ctx.emit('input', values);
|
|
5039
4742
|
}
|
|
5040
4743
|
}
|
|
5041
|
-
|
|
5042
4744
|
function selectAll() {
|
|
5043
4745
|
if (!isAllSelectedRef.value) {
|
|
5044
4746
|
const values = sortedItemKeysRef.value.slice();
|
|
@@ -5046,7 +4748,6 @@ const VDataTable = vue.defineComponent({
|
|
|
5046
4748
|
ctx.emit('input', values);
|
|
5047
4749
|
}
|
|
5048
4750
|
}
|
|
5049
|
-
|
|
5050
4751
|
function deselectAll() {
|
|
5051
4752
|
if (internalValues.value.length) {
|
|
5052
4753
|
const values = [];
|
|
@@ -5054,34 +4755,28 @@ const VDataTable = vue.defineComponent({
|
|
|
5054
4755
|
ctx.emit('input', values);
|
|
5055
4756
|
}
|
|
5056
4757
|
}
|
|
5057
|
-
|
|
5058
4758
|
function deselect(key) {
|
|
5059
4759
|
const values = internalValues.value.slice();
|
|
5060
4760
|
const index = values.indexOf(key);
|
|
5061
|
-
|
|
5062
4761
|
if (index !== -1) {
|
|
5063
4762
|
values.splice(index, 1);
|
|
5064
4763
|
internalValues.value = values;
|
|
5065
4764
|
ctx.emit('input', values);
|
|
5066
4765
|
}
|
|
5067
4766
|
}
|
|
5068
|
-
|
|
5069
4767
|
function handleClickSortHeader(header, ev) {
|
|
5070
4768
|
const {
|
|
5071
4769
|
sortQuery
|
|
5072
4770
|
} = header;
|
|
5073
4771
|
if (!sortQuery) return;
|
|
5074
|
-
|
|
5075
4772
|
if (sortByRef.value === sortQuery) {
|
|
5076
4773
|
return toggleOrderBy();
|
|
5077
4774
|
}
|
|
5078
|
-
|
|
5079
4775
|
return setSort({
|
|
5080
4776
|
sort: sortQuery,
|
|
5081
4777
|
order: defaultOrderQueryRef.value
|
|
5082
4778
|
});
|
|
5083
4779
|
}
|
|
5084
|
-
|
|
5085
4780
|
function genPagination() {
|
|
5086
4781
|
return vue.createVNode(VPagination, {
|
|
5087
4782
|
"class": "v-data-table__pagination",
|
|
@@ -5092,7 +4787,6 @@ const VDataTable = vue.defineComponent({
|
|
|
5092
4787
|
"length": pageLengthRef.value
|
|
5093
4788
|
}, null);
|
|
5094
4789
|
}
|
|
5095
|
-
|
|
5096
4790
|
function genControls() {
|
|
5097
4791
|
const {
|
|
5098
4792
|
total
|
|
@@ -5126,7 +4820,6 @@ const VDataTable = vue.defineComponent({
|
|
|
5126
4820
|
"class": "v-data-table__controls__pagination"
|
|
5127
4821
|
}, [genPagination()])]);
|
|
5128
4822
|
}
|
|
5129
|
-
|
|
5130
4823
|
function genTableHeader() {
|
|
5131
4824
|
const sortBy = sortByRef.value;
|
|
5132
4825
|
const isIndeterminate = isIndeterminateRef.value;
|
|
@@ -5134,8 +4827,8 @@ const VDataTable = vue.defineComponent({
|
|
|
5134
4827
|
const {
|
|
5135
4828
|
defaultOrder,
|
|
5136
4829
|
ascQueryValue
|
|
5137
|
-
} = props;
|
|
5138
|
-
|
|
4830
|
+
} = props;
|
|
4831
|
+
// const usePaiging = usePaigingRef.value;
|
|
5139
4832
|
const children = headersRef.value.map(header => {
|
|
5140
4833
|
const {
|
|
5141
4834
|
label,
|
|
@@ -5144,17 +4837,13 @@ const VDataTable = vue.defineComponent({
|
|
|
5144
4837
|
key
|
|
5145
4838
|
} = header;
|
|
5146
4839
|
const headerChildren = [];
|
|
5147
|
-
|
|
5148
4840
|
if (label != null && typeof label !== 'boolean') {
|
|
5149
4841
|
let _children = typeof label === 'function' ? label(vui) : label;
|
|
5150
|
-
|
|
5151
4842
|
if (_children && !Array.isArray(_children) && typeof _children === 'object') {
|
|
5152
4843
|
_children = JSON.stringify(_children);
|
|
5153
4844
|
}
|
|
5154
|
-
|
|
5155
4845
|
headerChildren.push(_children);
|
|
5156
4846
|
}
|
|
5157
|
-
|
|
5158
4847
|
if (key === SELECTABLE_HEADER_SYMBOL) {
|
|
5159
4848
|
headerChildren.push(vue.createVNode(VCheckbox, {
|
|
5160
4849
|
"modelValue": isAllSelected,
|
|
@@ -5167,13 +4856,11 @@ const VDataTable = vue.defineComponent({
|
|
|
5167
4856
|
}
|
|
5168
4857
|
}
|
|
5169
4858
|
}, null));
|
|
5170
|
-
}
|
|
4859
|
+
}
|
|
4860
|
+
// if (key === DELETOR_HEADER_SYMBOL) {
|
|
5171
4861
|
// headerChildren.push('削除');
|
|
5172
4862
|
// }
|
|
5173
|
-
|
|
5174
|
-
|
|
5175
4863
|
const sortActive = sortBy === sortQuery;
|
|
5176
|
-
|
|
5177
4864
|
if (sortQuery) {
|
|
5178
4865
|
const isASC = sortActive ? isASCRef.value : defaultOrder === ascQueryValue;
|
|
5179
4866
|
headerChildren.unshift(vue.createVNode(VIcon, {
|
|
@@ -5187,15 +4874,12 @@ const VDataTable = vue.defineComponent({
|
|
|
5187
4874
|
}]
|
|
5188
4875
|
}));
|
|
5189
4876
|
}
|
|
5190
|
-
|
|
5191
4877
|
const classes = ['v-data-table__table__cell', {
|
|
5192
4878
|
'v-data-table__table__cell--active': sortActive
|
|
5193
4879
|
}];
|
|
5194
|
-
|
|
5195
4880
|
if (align) {
|
|
5196
4881
|
classes.push(`v-data-table__table__cell--${align}`);
|
|
5197
4882
|
}
|
|
5198
|
-
|
|
5199
4883
|
return vue.createVNode("th", {
|
|
5200
4884
|
"class": classes,
|
|
5201
4885
|
"key": header.key,
|
|
@@ -5212,19 +4896,17 @@ const VDataTable = vue.defineComponent({
|
|
|
5212
4896
|
"class": "v-data-table__table__header"
|
|
5213
4897
|
}, [vue.createVNode("tr", null, [children])]);
|
|
5214
4898
|
}
|
|
5215
|
-
|
|
5216
4899
|
function toggleSelect(key) {
|
|
5217
4900
|
return isSelected(key) ? deselect(key) : select(key);
|
|
5218
4901
|
}
|
|
5219
|
-
|
|
5220
4902
|
function defaultItemSlot(payload) {
|
|
5221
4903
|
const {
|
|
5222
4904
|
key,
|
|
5223
4905
|
item,
|
|
5224
4906
|
selected
|
|
5225
4907
|
} = payload;
|
|
5226
|
-
const headers = headersRef.value;
|
|
5227
|
-
|
|
4908
|
+
const headers = headersRef.value;
|
|
4909
|
+
// const { $scopedSlots, $createElement, deletor } = this;
|
|
5228
4910
|
const children = headers.map(header => {
|
|
5229
4911
|
const {
|
|
5230
4912
|
cell,
|
|
@@ -5233,23 +4915,18 @@ const VDataTable = vue.defineComponent({
|
|
|
5233
4915
|
} = header;
|
|
5234
4916
|
const cellSlot = cell || ctx.slots.cell;
|
|
5235
4917
|
let cellChildren;
|
|
5236
|
-
|
|
5237
4918
|
if (cellSlot) {
|
|
5238
4919
|
const cellPayload = {
|
|
5239
4920
|
vui,
|
|
5240
4921
|
item,
|
|
5241
4922
|
selected
|
|
5242
4923
|
};
|
|
5243
|
-
|
|
5244
4924
|
let _children = cellSlot(cellPayload);
|
|
5245
|
-
|
|
5246
4925
|
if (_children && !Array.isArray(_children) && typeof _children === 'object') {
|
|
5247
4926
|
_children = JSON.stringify(_children);
|
|
5248
4927
|
}
|
|
5249
|
-
|
|
5250
4928
|
cellChildren = _children;
|
|
5251
4929
|
}
|
|
5252
|
-
|
|
5253
4930
|
if (!cellChildren) {
|
|
5254
4931
|
switch (headerKey) {
|
|
5255
4932
|
case SELECTABLE_HEADER_SYMBOL:
|
|
@@ -5304,7 +4981,6 @@ const VDataTable = vue.defineComponent({
|
|
|
5304
4981
|
"key": key
|
|
5305
4982
|
}, [children]);
|
|
5306
4983
|
}
|
|
5307
|
-
|
|
5308
4984
|
function genBody() {
|
|
5309
4985
|
const {
|
|
5310
4986
|
items,
|
|
@@ -5326,7 +5002,6 @@ const VDataTable = vue.defineComponent({
|
|
|
5326
5002
|
"class": "v-data-table__table__body"
|
|
5327
5003
|
}, [children]);
|
|
5328
5004
|
}
|
|
5329
|
-
|
|
5330
5005
|
vue.watch(() => props.modelValue, modelValue => {
|
|
5331
5006
|
internalValues.value = modelValue.slice();
|
|
5332
5007
|
});
|
|
@@ -5375,36 +5050,31 @@ const VDataTable = vue.defineComponent({
|
|
|
5375
5050
|
})])]);
|
|
5376
5051
|
};
|
|
5377
5052
|
}
|
|
5378
|
-
|
|
5379
5053
|
});
|
|
5380
5054
|
|
|
5381
5055
|
function _isSlot$2(s) {
|
|
5382
5056
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
5383
5057
|
}
|
|
5384
|
-
|
|
5385
|
-
const VApp = vue.defineComponent({
|
|
5058
|
+
const VApp = /* @__PURE__ */ vue.defineComponent({
|
|
5386
5059
|
name: 'VApp',
|
|
5387
|
-
|
|
5388
5060
|
setup(props, ctx) {
|
|
5389
5061
|
vueKit.useInjectTheme();
|
|
5390
5062
|
return () => {
|
|
5391
5063
|
let _slot;
|
|
5392
|
-
|
|
5393
5064
|
return vue.createVNode(vueKit.VStackRoot, null, _isSlot$2(_slot = vueKit.renderSlotOrEmpty(ctx.slots, 'default')) ? _slot : {
|
|
5394
5065
|
default: () => [_slot]
|
|
5395
5066
|
});
|
|
5396
5067
|
};
|
|
5397
5068
|
}
|
|
5398
|
-
|
|
5399
5069
|
});
|
|
5400
5070
|
|
|
5401
|
-
const VToolbar = vue.defineComponent({
|
|
5071
|
+
const VToolbar = /* @__PURE__ */ vue.defineComponent({
|
|
5402
5072
|
name: 'VToolbar',
|
|
5403
|
-
props: {
|
|
5073
|
+
props: {
|
|
5074
|
+
...createElevationProps(),
|
|
5404
5075
|
...vueColorScheme.colorSchemeProps(),
|
|
5405
5076
|
dense: Boolean
|
|
5406
5077
|
},
|
|
5407
|
-
|
|
5408
5078
|
setup(props, ctx) {
|
|
5409
5079
|
const vui = useVui();
|
|
5410
5080
|
const elevation = useElevation(props, {
|
|
@@ -5427,24 +5097,20 @@ const VToolbar = vue.defineComponent({
|
|
|
5427
5097
|
}, [vueUtils.renderSlotOrEmpty(ctx.slots, 'default')]);
|
|
5428
5098
|
};
|
|
5429
5099
|
}
|
|
5430
|
-
|
|
5431
5100
|
});
|
|
5432
5101
|
|
|
5433
5102
|
function _isSlot$1(s) {
|
|
5434
5103
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
5435
5104
|
}
|
|
5436
|
-
|
|
5437
|
-
const VToolbarMenu = vue.defineComponent({
|
|
5105
|
+
const VToolbarMenu = /* @__PURE__ */ vue.defineComponent({
|
|
5438
5106
|
name: 'VToolbarMenu',
|
|
5439
5107
|
inheritAttrs: false,
|
|
5440
5108
|
props: {},
|
|
5441
|
-
|
|
5442
5109
|
setup(props, ctx) {
|
|
5443
5110
|
const vui = useVui();
|
|
5444
5111
|
const plain = vui.setting('plainVariant');
|
|
5445
5112
|
return () => {
|
|
5446
5113
|
let _slot;
|
|
5447
|
-
|
|
5448
5114
|
const variant = props.variant || plain;
|
|
5449
5115
|
return vue.createVNode(VButton, vue.mergeProps(ctx.attrs, {
|
|
5450
5116
|
"variant": variant,
|
|
@@ -5454,10 +5120,9 @@ const VToolbarMenu = vue.defineComponent({
|
|
|
5454
5120
|
});
|
|
5455
5121
|
};
|
|
5456
5122
|
}
|
|
5457
|
-
|
|
5458
5123
|
});
|
|
5459
5124
|
|
|
5460
|
-
const VToolbarEdge = vue.defineComponent({
|
|
5125
|
+
const VToolbarEdge = /* @__PURE__ */ vue.defineComponent({
|
|
5461
5126
|
name: 'VToolbarEdge',
|
|
5462
5127
|
props: {
|
|
5463
5128
|
edge: {
|
|
@@ -5465,7 +5130,6 @@ const VToolbarEdge = vue.defineComponent({
|
|
|
5465
5130
|
required: true
|
|
5466
5131
|
}
|
|
5467
5132
|
},
|
|
5468
|
-
|
|
5469
5133
|
setup(props, ctx) {
|
|
5470
5134
|
const edge = vue.computed(() => props.edge);
|
|
5471
5135
|
return () => {
|
|
@@ -5478,14 +5142,12 @@ const VToolbarEdge = vue.defineComponent({
|
|
|
5478
5142
|
}, [children]);
|
|
5479
5143
|
};
|
|
5480
5144
|
}
|
|
5481
|
-
|
|
5482
5145
|
});
|
|
5483
5146
|
|
|
5484
5147
|
function _isSlot(s) {
|
|
5485
5148
|
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
5486
5149
|
}
|
|
5487
|
-
|
|
5488
|
-
const VToolbarTitle = vue.defineComponent({
|
|
5150
|
+
const VToolbarTitle = /* @__PURE__ */ vue.defineComponent({
|
|
5489
5151
|
name: 'VToolbarTitle',
|
|
5490
5152
|
props: {
|
|
5491
5153
|
tag: {
|
|
@@ -5493,13 +5155,10 @@ const VToolbarTitle = vue.defineComponent({
|
|
|
5493
5155
|
default: 'span'
|
|
5494
5156
|
}
|
|
5495
5157
|
},
|
|
5496
|
-
|
|
5497
5158
|
setup(props, ctx) {
|
|
5498
5159
|
const _TagName = vue.computed(() => props.tag);
|
|
5499
|
-
|
|
5500
5160
|
return () => {
|
|
5501
5161
|
let _slot;
|
|
5502
|
-
|
|
5503
5162
|
const TagName = _TagName.value;
|
|
5504
5163
|
return vue.createVNode(TagName, {
|
|
5505
5164
|
"class": "v-toolbar-title"
|
|
@@ -5508,7 +5167,6 @@ const VToolbarTitle = vue.defineComponent({
|
|
|
5508
5167
|
});
|
|
5509
5168
|
};
|
|
5510
5169
|
}
|
|
5511
|
-
|
|
5512
5170
|
});
|
|
5513
5171
|
|
|
5514
5172
|
const DEFAULT_AUTO_SCROLL_TO_ELEMENT_OFFSET_TOP = -20;
|
|
@@ -5517,8 +5175,8 @@ function mergeVuiServiceUISettings(base, overrides) {
|
|
|
5517
5175
|
if (!overrides) {
|
|
5518
5176
|
return base;
|
|
5519
5177
|
}
|
|
5520
|
-
|
|
5521
|
-
|
|
5178
|
+
const merged = {
|
|
5179
|
+
...base
|
|
5522
5180
|
};
|
|
5523
5181
|
Object.entries(overrides).forEach(([key, value]) => {
|
|
5524
5182
|
if (value) {
|
|
@@ -5531,8 +5189,8 @@ function mergeVuiServiceIconSettings(base, overrides) {
|
|
|
5531
5189
|
if (!overrides) {
|
|
5532
5190
|
return base;
|
|
5533
5191
|
}
|
|
5534
|
-
|
|
5535
|
-
|
|
5192
|
+
const merged = {
|
|
5193
|
+
...base
|
|
5536
5194
|
};
|
|
5537
5195
|
Object.entries(overrides).forEach(([key, value]) => {
|
|
5538
5196
|
if (value) {
|
|
@@ -5545,8 +5203,8 @@ function mergeVuiServiceOptions(base, overrides) {
|
|
|
5545
5203
|
if (!overrides) {
|
|
5546
5204
|
return base;
|
|
5547
5205
|
}
|
|
5548
|
-
|
|
5549
|
-
|
|
5206
|
+
const merged = {
|
|
5207
|
+
...base,
|
|
5550
5208
|
uiSettings: mergeVuiServiceUISettings(base.uiSettings, overrides.uiSettings),
|
|
5551
5209
|
icons: mergeVuiServiceIconSettings(base.icons, overrides.icons)
|
|
5552
5210
|
};
|
|
@@ -5562,7 +5220,6 @@ class VuiService {
|
|
|
5562
5220
|
get scroller() {
|
|
5563
5221
|
return vueScroller.getDocumentScroller();
|
|
5564
5222
|
}
|
|
5565
|
-
|
|
5566
5223
|
constructor(options, stackService) {
|
|
5567
5224
|
this.options = options;
|
|
5568
5225
|
this.configure();
|
|
@@ -5583,63 +5240,49 @@ class VuiService {
|
|
|
5583
5240
|
this.stack = stackService;
|
|
5584
5241
|
this.useLink = options.useLink || vueRouter.useLink;
|
|
5585
5242
|
}
|
|
5586
|
-
|
|
5587
5243
|
configure(options) {
|
|
5588
5244
|
options && Object.assign(this.options, options);
|
|
5589
5245
|
vueUtils.setDefaultRouterLink(this.getRouterLink());
|
|
5590
5246
|
}
|
|
5591
|
-
|
|
5592
5247
|
getRouterLink() {
|
|
5593
5248
|
return this.options.RouterLink || vueRouter.RouterLink;
|
|
5594
5249
|
}
|
|
5595
|
-
|
|
5596
5250
|
setting(key) {
|
|
5597
5251
|
return this.options.uiSettings[key];
|
|
5598
5252
|
}
|
|
5599
|
-
|
|
5600
5253
|
icon(iconType) {
|
|
5601
5254
|
return this.options.icons[iconType];
|
|
5602
5255
|
}
|
|
5603
|
-
|
|
5604
5256
|
getAutoScrollToElementOffsetTop() {
|
|
5605
5257
|
let {
|
|
5606
5258
|
autoScrollToElementOffsetTop
|
|
5607
5259
|
} = this;
|
|
5608
|
-
|
|
5609
5260
|
if (typeof autoScrollToElementOffsetTop === 'function') {
|
|
5610
5261
|
autoScrollToElementOffsetTop = autoScrollToElementOffsetTop();
|
|
5611
5262
|
}
|
|
5612
|
-
|
|
5613
5263
|
return autoScrollToElementOffsetTop || 0;
|
|
5614
5264
|
}
|
|
5615
|
-
|
|
5616
5265
|
getRequiredChip() {
|
|
5617
5266
|
const {
|
|
5618
5267
|
requiredChip
|
|
5619
5268
|
} = this;
|
|
5620
5269
|
return requiredChip && requiredChip();
|
|
5621
5270
|
}
|
|
5622
|
-
|
|
5623
5271
|
dialog(...args) {
|
|
5624
5272
|
return this.stack.dialog(...args);
|
|
5625
5273
|
}
|
|
5626
|
-
|
|
5627
5274
|
alert(...args) {
|
|
5628
5275
|
return this.stack.alert(...args);
|
|
5629
5276
|
}
|
|
5630
|
-
|
|
5631
5277
|
confirm(...args) {
|
|
5632
5278
|
return this.stack.confirm(...args);
|
|
5633
5279
|
}
|
|
5634
|
-
|
|
5635
5280
|
snackbar(...args) {
|
|
5636
5281
|
return this.stack.snackbar(...args);
|
|
5637
5282
|
}
|
|
5638
|
-
|
|
5639
5283
|
menu(...args) {
|
|
5640
5284
|
return this.stack.menu(...args);
|
|
5641
5285
|
}
|
|
5642
|
-
|
|
5643
5286
|
formPrompt(settings, slot) {
|
|
5644
5287
|
let form;
|
|
5645
5288
|
const options = {
|
|
@@ -5650,9 +5293,7 @@ class VuiService {
|
|
|
5650
5293
|
size,
|
|
5651
5294
|
state
|
|
5652
5295
|
} = options;
|
|
5653
|
-
|
|
5654
5296
|
const _state = vue.reactive(state);
|
|
5655
|
-
|
|
5656
5297
|
options.actions = options.actions || [this.stack.action('cancel', undefined, {
|
|
5657
5298
|
size
|
|
5658
5299
|
}), this.stack.action('ok', undefined, {
|
|
@@ -5664,7 +5305,8 @@ class VuiService {
|
|
|
5664
5305
|
}
|
|
5665
5306
|
}
|
|
5666
5307
|
})];
|
|
5667
|
-
const resolved = vueKit.resolveVStackDynamicInput({
|
|
5308
|
+
const resolved = vueKit.resolveVStackDynamicInput({
|
|
5309
|
+
...options,
|
|
5668
5310
|
content: stack => {
|
|
5669
5311
|
return vue.createVNode(VForm, {
|
|
5670
5312
|
"disableAutoScroll": true,
|
|
@@ -5688,15 +5330,16 @@ class VuiService {
|
|
|
5688
5330
|
});
|
|
5689
5331
|
return this.dialog(resolved);
|
|
5690
5332
|
}
|
|
5691
|
-
|
|
5692
5333
|
prompt(rawOptions = {}) {
|
|
5693
5334
|
const options = typeof rawOptions === 'string' ? {
|
|
5694
5335
|
input: {
|
|
5695
5336
|
label: rawOptions
|
|
5696
5337
|
}
|
|
5697
|
-
} : {
|
|
5338
|
+
} : {
|
|
5339
|
+
...rawOptions
|
|
5698
5340
|
};
|
|
5699
|
-
options.input = {
|
|
5341
|
+
options.input = {
|
|
5342
|
+
...options.input
|
|
5700
5343
|
};
|
|
5701
5344
|
options.dense = true;
|
|
5702
5345
|
const {
|
|
@@ -5719,19 +5362,17 @@ class VuiService {
|
|
|
5719
5362
|
return result ? result.input : result;
|
|
5720
5363
|
});
|
|
5721
5364
|
}
|
|
5722
|
-
|
|
5723
5365
|
}
|
|
5724
5366
|
|
|
5725
5367
|
function mergeVuiPluginOptions(base, override) {
|
|
5726
5368
|
if (!override) return base;
|
|
5727
5369
|
const merged = mergeVuiServiceOptions(base, override);
|
|
5728
|
-
|
|
5729
5370
|
if (override.stack) {
|
|
5730
|
-
merged.stack = {
|
|
5371
|
+
merged.stack = {
|
|
5372
|
+
...merged.stack,
|
|
5731
5373
|
...override.stack
|
|
5732
5374
|
};
|
|
5733
5375
|
}
|
|
5734
|
-
|
|
5735
5376
|
return merged;
|
|
5736
5377
|
}
|
|
5737
5378
|
class VuiPlugin {
|
|
@@ -5740,11 +5381,11 @@ class VuiPlugin {
|
|
|
5740
5381
|
colorScheme,
|
|
5741
5382
|
stack,
|
|
5742
5383
|
uiSettings
|
|
5743
|
-
} = opts;
|
|
5744
|
-
|
|
5384
|
+
} = opts;
|
|
5385
|
+
// ColorScheme
|
|
5745
5386
|
const vueColorSchemePlugin = new vueKit.VueColorSchemePlugin(colorScheme);
|
|
5746
|
-
app.use(vueColorSchemePlugin);
|
|
5747
|
-
|
|
5387
|
+
app.use(vueColorSchemePlugin);
|
|
5388
|
+
// Stack
|
|
5748
5389
|
vueKit.installVueStackPlugin(app, {
|
|
5749
5390
|
actions: {
|
|
5750
5391
|
ok: ({
|
|
@@ -5765,8 +5406,8 @@ class VuiPlugin {
|
|
|
5765
5406
|
...(stack ? stack.actions : {})
|
|
5766
5407
|
},
|
|
5767
5408
|
...stack
|
|
5768
|
-
});
|
|
5769
|
-
|
|
5409
|
+
});
|
|
5410
|
+
// Vui
|
|
5770
5411
|
const $vui = new VuiService(opts, app.config.globalProperties.$vstack);
|
|
5771
5412
|
app.provide(VuiInjectionKey, $vui);
|
|
5772
5413
|
app.config.globalProperties.$vui = $vui;
|
|
@@ -5774,7 +5415,6 @@ class VuiPlugin {
|
|
|
5774
5415
|
delete app.config.globalProperties.$vui;
|
|
5775
5416
|
});
|
|
5776
5417
|
}
|
|
5777
|
-
|
|
5778
5418
|
}
|
|
5779
5419
|
function installVuiPlugin(app, opts) {
|
|
5780
5420
|
return app.use(VuiPlugin, opts);
|