@vc-shell/framework 1.0.46 → 1.0.48
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/core/plugins/index.ts +2 -1
- package/core/plugins/moment/humanize.ts +77 -0
- package/core/plugins/moment/index.ts +1 -0
- package/core/plugins/moment/moment.ts +29 -0
- package/core/types/index.ts +10 -5
- package/dist/core/plugins/index.d.ts +2 -1
- package/dist/core/plugins/index.d.ts.map +1 -1
- package/dist/core/plugins/moment/humanize.d.ts +3 -0
- package/dist/core/plugins/moment/humanize.d.ts.map +1 -0
- package/dist/core/plugins/moment/index.d.ts +2 -0
- package/dist/core/plugins/moment/index.d.ts.map +1 -0
- package/dist/core/plugins/moment/moment.d.ts +13 -0
- package/dist/core/plugins/moment/moment.d.ts.map +1 -0
- package/dist/core/types/index.d.ts +12 -6
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/framework.js +96 -81
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/style.css +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/index.d.ts +0 -1
- package/dist/ui/components/index.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-input/index.d.ts +1 -1
- package/dist/ui/components/molecules/vc-input/index.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-input/vc-input-model.d.ts +1 -5
- package/dist/ui/components/molecules/vc-input/vc-input-model.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-input-currency/vc-input-currency-model.d.ts +4 -10
- package/dist/ui/components/molecules/vc-input-currency/vc-input-currency-model.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/index.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/vc-select-model.d.ts +5 -12
- package/dist/ui/components/molecules/vc-select/vc-select-model.d.ts.map +1 -1
- package/dist/ui/types/index.d.ts +6 -6
- package/dist/ui/types/index.d.ts.map +1 -1
- package/dist/ui/types/ts-helpers.d.ts +4 -5
- package/dist/ui/types/ts-helpers.d.ts.map +1 -1
- package/dist/vite.config.d.ts.map +1 -1
- package/package.json +4 -4
- package/ui/components/atoms/vc-icon/vc-icon.vue +1 -1
- package/ui/components/index.ts +0 -1
- package/ui/components/molecules/vc-input/index.ts +1 -1
- package/ui/components/molecules/vc-input/vc-input-model.ts +2 -5
- package/ui/components/molecules/vc-input/vc-input.vue +2 -2
- package/ui/components/molecules/vc-input-currency/vc-input-currency-model.ts +4 -10
- package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +2 -5
- package/ui/components/molecules/vc-select/index.ts +1 -0
- package/ui/components/molecules/vc-select/vc-select-model.ts +6 -13
- package/ui/components/molecules/vc-select/vc-select.vue +3 -2
- package/ui/components/molecules/vc-slider/vc-slider.vue +7 -3
- package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +1 -1
- package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue +6 -8
- package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +2 -0
- package/ui/components/organisms/vc-app/vc-app.vue +5 -1
- package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +22 -36
- package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +7 -5
- package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +9 -4
- package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +2 -5
- package/ui/components/organisms/vc-table/vc-table.vue +80 -133
- package/ui/types/index.ts +5 -17
- package/ui/types/ts-helpers.ts +7 -21
- package/dist/framework.js.map +0 -1
- package/ui/components/molecules/vc-currency-input/vc-input.vue +0 -436
- package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +0 -447
|
@@ -24,14 +24,16 @@
|
|
|
24
24
|
</template>
|
|
25
25
|
|
|
26
26
|
<script lang="ts" setup>
|
|
27
|
+
import { IBladeToolbar } from "@/core/types";
|
|
27
28
|
import { ref } from "vue";
|
|
28
29
|
import VcBladeToolbarButton from "./_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue";
|
|
29
30
|
|
|
30
|
-
|
|
31
|
-
items:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
export interface Props {
|
|
32
|
+
items: IBladeToolbar[];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
36
|
+
items: () => [],
|
|
35
37
|
});
|
|
36
38
|
|
|
37
39
|
const isExpanded = ref(true);
|
|
@@ -122,14 +122,13 @@
|
|
|
122
122
|
|
|
123
123
|
<Field
|
|
124
124
|
v-else-if="property.valueType === 'Number' && property.multivalue"
|
|
125
|
-
v-slot="{ errorMessage, handleChange }"
|
|
125
|
+
v-slot="{ errorMessage, handleChange, errors }"
|
|
126
126
|
:name="property.name"
|
|
127
127
|
:modelValue="property.values"
|
|
128
128
|
:rules="rules"
|
|
129
129
|
>
|
|
130
|
-
<
|
|
130
|
+
<VcSelect
|
|
131
131
|
v-bind="$attrs"
|
|
132
|
-
:error-message="errorMessage"
|
|
133
132
|
:label="handleDisplayName"
|
|
134
133
|
:modelValue="property.values"
|
|
135
134
|
@update:modelValue="
|
|
@@ -142,7 +141,13 @@
|
|
|
142
141
|
:required="property.required || property.isRequired"
|
|
143
142
|
placeholder="Add value"
|
|
144
143
|
:disabled="disabled"
|
|
145
|
-
|
|
144
|
+
:error="!!errors.length"
|
|
145
|
+
:error-message="errorMessage"
|
|
146
|
+
:options="items"
|
|
147
|
+
option-value="id"
|
|
148
|
+
:option-label="handleDisplayProperty"
|
|
149
|
+
multiple
|
|
150
|
+
></VcSelect>
|
|
146
151
|
</Field>
|
|
147
152
|
|
|
148
153
|
<Field
|
package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue
CHANGED
|
@@ -57,13 +57,10 @@
|
|
|
57
57
|
<script lang="ts" setup>
|
|
58
58
|
import { computed, ref } from "vue";
|
|
59
59
|
import { VcPopup } from "@/ui/components";
|
|
60
|
+
import { IImage } from "@/core/types";
|
|
60
61
|
|
|
61
62
|
export interface Props {
|
|
62
|
-
images?:
|
|
63
|
-
title: string;
|
|
64
|
-
name: string;
|
|
65
|
-
url: string;
|
|
66
|
-
}[];
|
|
63
|
+
images?: IImage[];
|
|
67
64
|
index: number;
|
|
68
65
|
}
|
|
69
66
|
|
|
@@ -192,7 +192,7 @@
|
|
|
192
192
|
<button
|
|
193
193
|
class="tw-text-[#319ed4] tw-cursor-pointer tw-border-none tw-bg-transparent disabled:tw-text-[gray]"
|
|
194
194
|
@click.stop="showActions(item, item.id)"
|
|
195
|
-
:ref="(el) => setActionToggleRefs(el, item.id)"
|
|
195
|
+
:ref="(el: Element) => setActionToggleRefs(el, item.id)"
|
|
196
196
|
aria-describedby="tooltip"
|
|
197
197
|
:disabled="!(itemActions && itemActions.length)"
|
|
198
198
|
>
|
|
@@ -202,7 +202,7 @@
|
|
|
202
202
|
class="vc-table__body-tooltip tw-bg-white tw-rounded-l-[4px] tw-p-[15px] tw-z-0 tw-absolute tw-right-0 tw-drop-shadow-[1px_3px_14px_rgba(111,122,131,0.25)]"
|
|
203
203
|
v-show="selectedRow === item.id"
|
|
204
204
|
@mouseleave="closeActions"
|
|
205
|
-
:ref="(el) => setTooltipRefs(el, item.id)"
|
|
205
|
+
:ref="(el: Element) => setTooltipRefs(el, item.id)"
|
|
206
206
|
role="tooltip"
|
|
207
207
|
>
|
|
208
208
|
<div
|
|
@@ -312,129 +312,72 @@ import VcTableFilter from "./_internal/vc-table-filter/vc-table-filter.vue";
|
|
|
312
312
|
import VcTableMobileItem from "./_internal/vc-table-mobile-item/vc-table-mobile-item.vue";
|
|
313
313
|
import VcTableCell from "./_internal/vc-table-cell/vc-table-cell.vue";
|
|
314
314
|
import { createPopper, Instance } from "@popperjs/core";
|
|
315
|
-
import { IActionBuilderResult } from "@/core/types";
|
|
315
|
+
import { IActionBuilderResult, ITableColumns } from "@/core/types";
|
|
316
|
+
|
|
317
|
+
export interface Props {
|
|
318
|
+
columns: ITableColumns[];
|
|
319
|
+
items: { id: string }[];
|
|
320
|
+
itemActionBuilder?: (item: { id: string }) => IActionBuilderResult[];
|
|
321
|
+
sort?: string;
|
|
322
|
+
multiselect?: boolean;
|
|
323
|
+
expanded?: boolean;
|
|
324
|
+
totalLabel?: string;
|
|
325
|
+
totalCount?: number;
|
|
326
|
+
pages?: number;
|
|
327
|
+
currentPage?: number;
|
|
328
|
+
searchPlaceholder?: string;
|
|
329
|
+
searchValue?: string;
|
|
330
|
+
loading?: boolean;
|
|
331
|
+
empty?: StatusImage;
|
|
332
|
+
notfound?: StatusImage;
|
|
333
|
+
header?: boolean;
|
|
334
|
+
footer?: boolean;
|
|
335
|
+
activeFilterCount?: number;
|
|
336
|
+
selectedItemId?: string;
|
|
337
|
+
scrolling?: boolean;
|
|
338
|
+
onItemClick?: () => void;
|
|
339
|
+
}
|
|
316
340
|
|
|
317
|
-
interface
|
|
318
|
-
|
|
319
|
-
|
|
341
|
+
export interface StatusImage {
|
|
342
|
+
image?: string;
|
|
343
|
+
text: string;
|
|
344
|
+
action?: boolean;
|
|
345
|
+
clickHandler?: () => void;
|
|
320
346
|
}
|
|
321
347
|
|
|
322
|
-
const props = defineProps({
|
|
323
|
-
columns:
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
},
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
multiselect: {
|
|
349
|
-
type: Boolean,
|
|
350
|
-
default: false,
|
|
351
|
-
},
|
|
352
|
-
|
|
353
|
-
expanded: {
|
|
354
|
-
type: Boolean,
|
|
355
|
-
default: false,
|
|
356
|
-
},
|
|
357
|
-
|
|
358
|
-
totalLabel: {
|
|
359
|
-
type: String,
|
|
360
|
-
default: "Totals:",
|
|
361
|
-
},
|
|
362
|
-
|
|
363
|
-
totalCount: {
|
|
364
|
-
type: Number,
|
|
365
|
-
default: 0,
|
|
366
|
-
},
|
|
367
|
-
|
|
368
|
-
pages: {
|
|
369
|
-
type: Number,
|
|
370
|
-
default: 0,
|
|
371
|
-
},
|
|
372
|
-
|
|
373
|
-
currentPage: {
|
|
374
|
-
type: Number,
|
|
375
|
-
default: 0,
|
|
376
|
-
},
|
|
377
|
-
|
|
378
|
-
searchPlaceholder: {
|
|
379
|
-
type: String,
|
|
380
|
-
default: "Search...",
|
|
381
|
-
},
|
|
382
|
-
|
|
383
|
-
searchValue: {
|
|
384
|
-
type: String,
|
|
385
|
-
default: undefined,
|
|
386
|
-
},
|
|
387
|
-
|
|
388
|
-
loading: {
|
|
389
|
-
type: Boolean,
|
|
390
|
-
default: false,
|
|
391
|
-
},
|
|
392
|
-
|
|
393
|
-
empty: {
|
|
394
|
-
type: Object,
|
|
395
|
-
default: () => ({
|
|
396
|
-
text: "List is empty.",
|
|
397
|
-
}),
|
|
398
|
-
},
|
|
399
|
-
|
|
400
|
-
notfound: {
|
|
401
|
-
type: Object,
|
|
402
|
-
default: () => ({
|
|
403
|
-
text: "Nothing found.",
|
|
404
|
-
}),
|
|
405
|
-
},
|
|
406
|
-
|
|
407
|
-
header: {
|
|
408
|
-
type: Boolean,
|
|
409
|
-
default: true,
|
|
410
|
-
},
|
|
411
|
-
|
|
412
|
-
footer: {
|
|
413
|
-
type: Boolean,
|
|
414
|
-
default: true,
|
|
415
|
-
},
|
|
416
|
-
|
|
417
|
-
activeFilterCount: {
|
|
418
|
-
type: Number,
|
|
419
|
-
default: 0,
|
|
420
|
-
},
|
|
421
|
-
|
|
422
|
-
selectedItemId: {
|
|
423
|
-
type: String,
|
|
424
|
-
default: undefined,
|
|
425
|
-
},
|
|
426
|
-
|
|
427
|
-
scrolling: {
|
|
428
|
-
type: Boolean,
|
|
429
|
-
default: false,
|
|
430
|
-
},
|
|
431
|
-
|
|
432
|
-
onItemClick: {
|
|
433
|
-
type: Function,
|
|
434
|
-
default: undefined,
|
|
435
|
-
},
|
|
348
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
349
|
+
columns: () => [],
|
|
350
|
+
items: () => [],
|
|
351
|
+
itemActionBuilder: undefined,
|
|
352
|
+
sort: undefined,
|
|
353
|
+
multiselect: false,
|
|
354
|
+
expanded: false,
|
|
355
|
+
totalLabel: "Totals:",
|
|
356
|
+
totalCount: 0,
|
|
357
|
+
pages: 0,
|
|
358
|
+
currentPage: 0,
|
|
359
|
+
searchPlaceholder: "Search...",
|
|
360
|
+
searchValue: undefined,
|
|
361
|
+
loading: false,
|
|
362
|
+
empty: () => ({
|
|
363
|
+
text: "List is empty.",
|
|
364
|
+
}),
|
|
365
|
+
notfound: () => ({
|
|
366
|
+
text: "Nothing found.",
|
|
367
|
+
}),
|
|
368
|
+
header: true,
|
|
369
|
+
footer: true,
|
|
370
|
+
activeFilterCount: 0,
|
|
371
|
+
selectedItemId: undefined,
|
|
372
|
+
scrolling: false,
|
|
373
|
+
onItemClick: undefined,
|
|
436
374
|
});
|
|
437
375
|
|
|
376
|
+
interface ITableItemRef {
|
|
377
|
+
element: Element;
|
|
378
|
+
id: string;
|
|
379
|
+
}
|
|
380
|
+
|
|
438
381
|
const emit = defineEmits([
|
|
439
382
|
"paginationClick",
|
|
440
383
|
"selectionChanged",
|
|
@@ -490,7 +433,7 @@ watch(
|
|
|
490
433
|
}
|
|
491
434
|
);
|
|
492
435
|
|
|
493
|
-
function setTooltipRefs(el:
|
|
436
|
+
function setTooltipRefs(el: Element, id: string) {
|
|
494
437
|
if (el) {
|
|
495
438
|
const isExists = tooltipRefs.value.some((item) => item.id === id);
|
|
496
439
|
if (!isExists) {
|
|
@@ -499,7 +442,7 @@ function setTooltipRefs(el: HTMLDivElement, id: string) {
|
|
|
499
442
|
}
|
|
500
443
|
}
|
|
501
444
|
|
|
502
|
-
function setActionToggleRefs(el:
|
|
445
|
+
function setActionToggleRefs(el: Element, id: string) {
|
|
503
446
|
if (el) {
|
|
504
447
|
const isExists = actionToggleRefs.value.some((item) => item.id === id);
|
|
505
448
|
if (!isExists) {
|
|
@@ -529,18 +472,22 @@ function showActions(item: { id: string }, index: string) {
|
|
|
529
472
|
|
|
530
473
|
if (toggleRef && tooltipRef) {
|
|
531
474
|
nextTick(() => {
|
|
532
|
-
tooltip.value = createPopper(
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
475
|
+
tooltip.value = createPopper(
|
|
476
|
+
toggleRef.element,
|
|
477
|
+
tooltipRef.element as HTMLElement,
|
|
478
|
+
{
|
|
479
|
+
placement: "bottom",
|
|
480
|
+
onFirstUpdate: () => tooltip.value?.update(),
|
|
481
|
+
modifiers: [
|
|
482
|
+
{
|
|
483
|
+
name: "offset",
|
|
484
|
+
options: {
|
|
485
|
+
offset: [-15, 15],
|
|
486
|
+
},
|
|
540
487
|
},
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
488
|
+
],
|
|
489
|
+
}
|
|
490
|
+
);
|
|
544
491
|
});
|
|
545
492
|
}
|
|
546
493
|
}
|
package/ui/types/index.ts
CHANGED
|
@@ -1,38 +1,26 @@
|
|
|
1
1
|
import { GlobalComponentConstructor } from "./ts-helpers";
|
|
2
2
|
import {
|
|
3
|
-
VcInputEmits,
|
|
4
3
|
VcInputProps,
|
|
5
4
|
VcInputSlots,
|
|
6
5
|
} from "../components/molecules/vc-input/vc-input-model";
|
|
7
6
|
import {
|
|
8
|
-
VcSelectEmits,
|
|
9
7
|
VcSelectProps,
|
|
10
8
|
VcSelectSlots,
|
|
11
9
|
} from "../components/molecules/vc-select/vc-select-model";
|
|
12
10
|
import {
|
|
13
11
|
VcInputCurrencyProps,
|
|
14
|
-
VcInputCurrencyEmits,
|
|
15
12
|
VcInputCurrencySlots,
|
|
16
|
-
} from "
|
|
13
|
+
} from "../components/molecules/vc-input-currency/vc-input-currency-model";
|
|
17
14
|
|
|
18
15
|
declare module "@vue/runtime-core" {
|
|
19
16
|
interface GlobalComponents {
|
|
20
|
-
VcInput: GlobalComponentConstructor<
|
|
21
|
-
VcInputProps,
|
|
22
|
-
VcInputSlots,
|
|
23
|
-
VcInputEmits
|
|
24
|
-
>;
|
|
17
|
+
VcInput: GlobalComponentConstructor<VcInputProps, VcInputSlots>;
|
|
25
18
|
VcInputCurrency: GlobalComponentConstructor<
|
|
26
19
|
VcInputCurrencyProps,
|
|
27
|
-
VcInputCurrencySlots
|
|
28
|
-
VcInputCurrencyEmits
|
|
29
|
-
>;
|
|
30
|
-
VcSelect: GlobalComponentConstructor<
|
|
31
|
-
VcSelectProps,
|
|
32
|
-
VcSelectSlots,
|
|
33
|
-
VcSelectEmits
|
|
20
|
+
VcInputCurrencySlots
|
|
34
21
|
>;
|
|
22
|
+
VcSelect: GlobalComponentConstructor<VcSelectProps, VcSelectSlots>;
|
|
35
23
|
}
|
|
36
24
|
}
|
|
37
25
|
|
|
38
|
-
export {};
|
|
26
|
+
export { };
|
package/ui/types/ts-helpers.ts
CHANGED
|
@@ -3,7 +3,6 @@ import {
|
|
|
3
3
|
ComponentOptions,
|
|
4
4
|
ComponentPublicInstance,
|
|
5
5
|
ComputedOptions,
|
|
6
|
-
EmitsOptions,
|
|
7
6
|
MethodOptions,
|
|
8
7
|
VNodeProps,
|
|
9
8
|
} from "vue";
|
|
@@ -16,31 +15,18 @@ export type ComponentConstructor<
|
|
|
16
15
|
RawBindings,
|
|
17
16
|
D,
|
|
18
17
|
C,
|
|
19
|
-
M
|
|
20
|
-
E
|
|
18
|
+
M
|
|
21
19
|
> = ComponentPublicInstance<any>,
|
|
22
20
|
Props = any,
|
|
23
21
|
RawBindings = any,
|
|
24
22
|
D = any,
|
|
25
23
|
C extends ComputedOptions = ComputedOptions,
|
|
26
24
|
M extends MethodOptions = MethodOptions,
|
|
27
|
-
|
|
28
|
-
> = { new (): Component } & ComponentOptions<
|
|
29
|
-
Props,
|
|
30
|
-
RawBindings,
|
|
31
|
-
D,
|
|
32
|
-
C,
|
|
33
|
-
M,
|
|
34
|
-
any,
|
|
35
|
-
any,
|
|
36
|
-
E
|
|
37
|
-
>;
|
|
25
|
+
> = { new (): Component } & ComponentOptions<Props, RawBindings, D, C, M>;
|
|
38
26
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
$emit: EmitsOptions & Emits;
|
|
45
|
-
};
|
|
27
|
+
export type GlobalComponentConstructor<Props = {}, Slots = {}> = {
|
|
28
|
+
new (): {
|
|
29
|
+
$props: PublicProps & Props;
|
|
30
|
+
$slots: Slots;
|
|
31
|
+
}
|
|
46
32
|
};
|