vlite3 1.2.1 → 1.2.4

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.
Files changed (64) hide show
  1. package/README.md +1 -0
  2. package/components/AppShell/AppShellLayoutClassic.vue.js +67 -64
  3. package/components/AppShell/AppShellLayoutDashboard.vue.js +76 -71
  4. package/components/AppShell/AppShellLayoutDock.vue.js +27 -27
  5. package/components/AppShell/AppShellLayoutHeaderShell.vue.js +81 -76
  6. package/components/AppShell/AppShellLayoutSidebarFirst.vue.js +56 -56
  7. package/components/AsyncSelect/createAsyncSelect.d.ts +88 -0
  8. package/components/AsyncSelect/createAsyncSelect.js +156 -0
  9. package/components/AsyncSelect/index.d.ts +1 -0
  10. package/components/ChoiceBox/ChoiceBox.vue.js +4 -2
  11. package/components/CommandPalette/CommandPaletteContent.vue2.js +1 -1
  12. package/components/CommandPalette/{CommandPaletteItem.vue.js → CommandPaletteItem.vue2.js} +1 -1
  13. package/components/DataTable/DataTable.vue.d.ts +3 -3
  14. package/components/DataTable/DataTableRow.vue.d.ts +1 -1
  15. package/components/Form/CustomFields.vue.js +2 -2
  16. package/components/Form/CustomFields.vue2.js +15 -2
  17. package/components/Form/Form.vue.js +1 -1
  18. package/components/Form/Form.vue2.js +1 -1
  19. package/components/Invoice/InvoiceVariant1.vue.js +225 -176
  20. package/components/Invoice/InvoiceVariant2.vue.js +174 -125
  21. package/components/Invoice/InvoiceVariant3.vue.js +186 -157
  22. package/components/Invoice/InvoiceVariant4.vue.js +200 -156
  23. package/components/Invoice/types.d.ts +10 -1
  24. package/components/List/ListFieldRow.vue.js +221 -144
  25. package/components/List/utils.d.ts +2 -2
  26. package/components/List/utils.js +6 -9
  27. package/components/NavbarCommandPalette.vue.js +2 -2
  28. package/components/Price/Price.vue.d.ts +3 -1
  29. package/components/Price/Price.vue.js +35 -10
  30. package/components/Rating/Rating.vue.d.ts +43 -0
  31. package/components/Rating/Rating.vue.js +7 -0
  32. package/components/Rating/Rating.vue2.js +92 -0
  33. package/components/Rating/ReviewSummary.vue.d.ts +5 -0
  34. package/components/Rating/ReviewSummary.vue.js +67 -0
  35. package/components/Rating/ReviewSummary.vue2.js +4 -0
  36. package/components/Rating/index.d.ts +3 -0
  37. package/components/Rating/types.d.ts +28 -0
  38. package/components/Screen/Screen.vue.d.ts +38 -12
  39. package/components/Screen/Screen.vue.js +400 -304
  40. package/components/Screen/components/ScreenToolbar.vue.d.ts +62 -0
  41. package/components/Screen/components/ScreenToolbar.vue.js +116 -0
  42. package/components/Screen/components/ScreenToolbar.vue2.js +4 -0
  43. package/components/Screen/types.d.ts +9 -0
  44. package/components/SidebarMenu/SidebarMenu.vue.js +1 -1
  45. package/components/SidebarMenu/SidebarMenuItem.vue.d.ts +3 -1
  46. package/components/SidebarMenu/SidebarMenuItem.vue.js +198 -175
  47. package/components/Stats/StatItem.vue.js +212 -153
  48. package/components/Stats/Stats.vue.js +20 -20
  49. package/components/Stats/components/StatIconBox.vue.js +42 -42
  50. package/components/Stats/components/StatTrend.vue.js +20 -20
  51. package/components/Stats/types.d.ts +3 -1
  52. package/components/Timeline/Timeline.vue.js +21 -11
  53. package/components/Timeline/TimelineItem.vue.js +1 -1
  54. package/core/config.d.ts +10 -0
  55. package/core/config.js +11 -9
  56. package/index.d.ts +2 -0
  57. package/index.js +220 -214
  58. package/package.json +2 -1
  59. package/style.css +23 -17
  60. package/types/config.type.d.ts +2 -0
  61. package/types/list.type.d.ts +4 -0
  62. package/utils/functions.d.ts +9 -10
  63. package/utils/functions.js +78 -63
  64. package/utils/status.js +16 -16
@@ -0,0 +1,62 @@
1
+ type __VLS_Props = {
2
+ selectedRows: any[];
3
+ hideSelectable?: boolean;
4
+ hideDeleteBtn?: boolean;
5
+ txtDeleteSelected: string;
6
+ hasMultipleViews: boolean;
7
+ activeView: string;
8
+ resolvedViews: any[];
9
+ showRefresh?: boolean;
10
+ loading?: boolean;
11
+ txtRefresh: string;
12
+ filterSchema?: any[];
13
+ filterType?: string;
14
+ activeFilters: any;
15
+ canSearch?: boolean;
16
+ searchQuery: string;
17
+ txtSearch: string;
18
+ canAdd?: boolean;
19
+ addComponent?: any;
20
+ addBtn?: any;
21
+ data?: any[];
22
+ refetch?: any;
23
+ hasExportOrImport?: boolean;
24
+ exportProps?: any;
25
+ importProps?: any;
26
+ screenState: any;
27
+ };
28
+ declare function __VLS_template(): {
29
+ attrs: Partial<{}>;
30
+ slots: {
31
+ 'before-search'?(_: any): any;
32
+ actions?(_: any): any;
33
+ 'after-add'?(_: any): any;
34
+ };
35
+ refs: {};
36
+ rootEl: HTMLDivElement;
37
+ };
38
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
39
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
40
+ delete: (items: any[]) => any;
41
+ add: () => any;
42
+ "update:activeView": (val: string) => any;
43
+ "update:activeFilters": (val: any) => any;
44
+ "update:searchQuery": (val: string) => any;
45
+ refresh: () => any;
46
+ "select-dropdown": (opt: any) => any;
47
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
48
+ onDelete?: (items: any[]) => any;
49
+ onAdd?: () => any;
50
+ "onUpdate:activeView"?: (val: string) => any;
51
+ "onUpdate:activeFilters"?: (val: any) => any;
52
+ "onUpdate:searchQuery"?: (val: string) => any;
53
+ onRefresh?: () => any;
54
+ "onSelect-dropdown"?: (opt: any) => any;
55
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
56
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
57
+ export default _default;
58
+ type __VLS_WithTemplateSlots<T, S> = T & {
59
+ new (): {
60
+ $slots: S;
61
+ };
62
+ };
@@ -0,0 +1,116 @@
1
+ import { defineComponent as h, openBlock as o, createElementBlock as m, createElementVNode as u, createBlock as d, createCommentVNode as i, renderSlot as n, normalizeProps as r, guardReactiveProps as s, createVNode as c } from "vue";
2
+ import f from "../../Button.vue.js";
3
+ import v from "../../Input.vue.js";
4
+ /* empty css */
5
+ import w from "./ScreenViewToggle.vue.js";
6
+ import y from "../ScreenFilter.vue.js";
7
+ import $ from "./ScreenAddAction.vue.js";
8
+ import S from "./ScreenOptionsDropdown.vue.js";
9
+ const g = { class: "flex items-center gap-2 w-full sm:w-auto flex-1 md:flex-none justify-start sm:justify-end" }, B = {
10
+ key: 4,
11
+ class: "w-full md:w-60! max-sm:order-last"
12
+ }, k = { class: "flex items-center gap-3 max-sm:w-full sm:w-auto max-sm:order-last" }, E = /* @__PURE__ */ h({
13
+ __name: "ScreenToolbar",
14
+ props: {
15
+ selectedRows: {},
16
+ hideSelectable: { type: Boolean },
17
+ hideDeleteBtn: { type: Boolean },
18
+ txtDeleteSelected: {},
19
+ hasMultipleViews: { type: Boolean },
20
+ activeView: {},
21
+ resolvedViews: {},
22
+ showRefresh: { type: Boolean },
23
+ loading: { type: Boolean },
24
+ txtRefresh: {},
25
+ filterSchema: {},
26
+ filterType: {},
27
+ activeFilters: {},
28
+ canSearch: { type: Boolean },
29
+ searchQuery: {},
30
+ txtSearch: {},
31
+ canAdd: { type: Boolean },
32
+ addComponent: {},
33
+ addBtn: {},
34
+ data: {},
35
+ refetch: {},
36
+ hasExportOrImport: { type: Boolean },
37
+ exportProps: {},
38
+ importProps: {},
39
+ screenState: {}
40
+ },
41
+ emits: ["update:activeView", "update:activeFilters", "update:searchQuery", "delete", "refresh", "add", "select-dropdown"],
42
+ setup(e) {
43
+ return (l, t) => (o(), m("div", null, [
44
+ u("div", g, [
45
+ e.selectedRows.length > 0 && !e.hideSelectable && !e.hideDeleteBtn ? (o(), d(f, {
46
+ key: 0,
47
+ variant: "outline",
48
+ class: "hover:bg-destructive/10 shrink-0 h-9! w-9!",
49
+ icon: "lucide:trash-2",
50
+ title: e.txtDeleteSelected,
51
+ onClick: t[0] || (t[0] = (a) => l.$emit("delete", e.selectedRows))
52
+ }, null, 8, ["title"])) : i("", !0),
53
+ e.hasMultipleViews ? (o(), d(w, {
54
+ key: 1,
55
+ "model-value": e.activeView,
56
+ "onUpdate:modelValue": t[1] || (t[1] = (a) => l.$emit("update:activeView", a)),
57
+ views: e.resolvedViews
58
+ }, null, 8, ["model-value", "views"])) : i("", !0),
59
+ n(l.$slots, "before-search", r(s(e.screenState))),
60
+ e.showRefresh ? (o(), d(f, {
61
+ key: 2,
62
+ variant: "outline",
63
+ icon: "lucide:refresh-cw",
64
+ size: "lg",
65
+ class: "shrink-0 h-9! w-9!",
66
+ title: e.txtRefresh,
67
+ disabled: e.loading,
68
+ onClick: t[2] || (t[2] = (a) => l.$emit("refresh"))
69
+ }, null, 8, ["title", "disabled"])) : i("", !0),
70
+ e.filterSchema && e.filterSchema.length > 0 ? (o(), d(y, {
71
+ key: 3,
72
+ schema: e.filterSchema,
73
+ type: e.filterType,
74
+ "model-value": e.activeFilters,
75
+ "onUpdate:modelValue": t[3] || (t[3] = (a) => l.$emit("update:activeFilters", a)),
76
+ onChange: t[4] || (t[4] = (a) => l.$emit("refresh"))
77
+ }, null, 8, ["schema", "type", "model-value"])) : i("", !0),
78
+ e.canSearch ? (o(), m("div", B, [
79
+ c(v, {
80
+ lazy: "",
81
+ "model-value": e.searchQuery,
82
+ "onUpdate:modelValue": t[5] || (t[5] = (a) => l.$emit("update:searchQuery", String(a))),
83
+ icon: "lucide:search",
84
+ placeholder: e.txtSearch,
85
+ variant: "outline",
86
+ class: "bg-background w-full",
87
+ "show-clear-button": !0
88
+ }, null, 8, ["model-value", "placeholder"])
89
+ ])) : i("", !0)
90
+ ]),
91
+ u("div", k, [
92
+ n(l.$slots, "actions", r(s(e.screenState)), () => [
93
+ c($, {
94
+ "can-add": e.canAdd,
95
+ "add-component": e.addComponent,
96
+ "add-btn": e.addBtn,
97
+ loading: e.loading,
98
+ data: e.data,
99
+ refetch: e.refetch,
100
+ onAdd: t[6] || (t[6] = (a) => l.$emit("add"))
101
+ }, null, 8, ["can-add", "add-component", "add-btn", "loading", "data", "refetch"])
102
+ ]),
103
+ e.hasExportOrImport ? (o(), d(S, {
104
+ key: 0,
105
+ "export-props": e.exportProps,
106
+ "import-props": e.importProps,
107
+ onSelect: t[7] || (t[7] = (a) => l.$emit("select-dropdown", a))
108
+ }, null, 8, ["export-props", "import-props"])) : i("", !0),
109
+ n(l.$slots, "after-add", r(s(e.screenState)))
110
+ ])
111
+ ]));
112
+ }
113
+ });
114
+ export {
115
+ E as default
116
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./ScreenToolbar.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -5,6 +5,7 @@ import { IForm } from '../Form';
5
5
  import { ExportField } from '../ExportData/types';
6
6
  import { ImportField } from '../ImportData/types';
7
7
  import { TabesVariant } from '../Tabes';
8
+ import { StatItemSchema, StatsProps } from '../Stats/types';
8
9
  export interface ScreenPaginationProps extends Omit<PaginationProps, 'currentPage' | 'totalPages'> {
9
10
  }
10
11
  export interface AddBtnConfig {
@@ -69,6 +70,9 @@ export interface ScreenProps {
69
70
  pageInfo?: PageInfo;
70
71
  data?: any[];
71
72
  loading?: boolean;
73
+ variant?: 'one' | 'two';
74
+ stats?: StatItemSchema[] | any[];
75
+ statsProps?: Partial<StatsProps>;
72
76
  /**
73
77
  * Called on every search, filter, pagination, sort, or quick-filter change.
74
78
  * Standard payload shape: { pagination, search, sort, filter }
@@ -139,7 +143,12 @@ export interface ScreenProps {
139
143
  filterType?: 'modal' | 'dropdown';
140
144
  showRefresh?: boolean;
141
145
  containerClass?: string;
146
+ mainContainerClass?: string;
142
147
  headerClass?: string;
148
+ topHeaderClass?: string;
149
+ bottomHeaderClass?: string;
150
+ filtersContainerClass?: string;
151
+ actionsContainerClass?: string;
143
152
  titleClass?: string;
144
153
  descriptionClass?: string;
145
154
  viewProps?: Record<string, any>;
@@ -25,7 +25,7 @@ const ue = {
25
25
  compactIconSize: { default: "21px" },
26
26
  labelClass: { default: "text-sm" },
27
27
  compactLabelClass: { default: "text-[11.5px] mt-1" },
28
- itemPadding: { default: "py-1.5 px-2" },
28
+ itemPadding: { default: "py-2 px-2" },
29
29
  compactItemPadding: { default: "py-2 px-1" },
30
30
  nestedMenuWidth: { default: "220px" },
31
31
  nestedMenuMaxHeight: { default: "300px" },
@@ -7,5 +7,7 @@ interface Props {
7
7
  }
8
8
  declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
9
9
  depth: number;
10
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
10
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
11
+ itemRef: HTMLDivElement;
12
+ }, HTMLDivElement>;
11
13
  export default _default;