@vc-shell/framework 1.0.160 → 1.0.163

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 (53) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/framework.js +2207 -2143
  3. package/dist/shared/modules/dynamic/components/factories.d.ts +1 -1
  4. package/dist/shared/modules/dynamic/components/factories.d.ts.map +1 -1
  5. package/dist/shared/modules/dynamic/components/fields/Button.d.ts.map +1 -1
  6. package/dist/shared/modules/dynamic/components/fields/Card.d.ts.map +1 -1
  7. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts.map +1 -1
  8. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts.map +1 -1
  9. package/dist/shared/modules/dynamic/components/fields/CustomComponent.d.ts.map +1 -1
  10. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts.map +1 -1
  11. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts.map +1 -1
  12. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts.map +1 -1
  13. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts.map +1 -1
  14. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts.map +1 -1
  15. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts.map +1 -1
  16. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts.map +1 -1
  17. package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts.map +1 -1
  18. package/dist/shared/modules/dynamic/components/fields/RatingField.d.ts.map +1 -1
  19. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts.map +1 -1
  20. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts.map +1 -1
  21. package/dist/shared/modules/dynamic/components/fields/SwitchField.d.ts.map +1 -1
  22. package/dist/shared/modules/dynamic/components/fields/Table.d.ts.map +1 -1
  23. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts.map +1 -1
  24. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts.map +1 -1
  25. package/dist/shared/modules/dynamic/composables/useFilterBuilder/index.d.ts.map +1 -1
  26. package/dist/shared/modules/dynamic/types/models.d.ts +1 -0
  27. package/dist/shared/modules/dynamic/types/models.d.ts.map +1 -1
  28. package/dist/tsconfig.tsbuildinfo +1 -1
  29. package/package.json +4 -4
  30. package/shared/modules/dynamic/components/factories.ts +2 -0
  31. package/shared/modules/dynamic/components/fields/Button.ts +3 -0
  32. package/shared/modules/dynamic/components/fields/Card.ts +3 -0
  33. package/shared/modules/dynamic/components/fields/Checkbox.ts +3 -0
  34. package/shared/modules/dynamic/components/fields/ContentField.ts +3 -0
  35. package/shared/modules/dynamic/components/fields/CustomComponent.ts +13 -3
  36. package/shared/modules/dynamic/components/fields/DynamicProperty.ts +8 -1
  37. package/shared/modules/dynamic/components/fields/EditorField.ts +3 -0
  38. package/shared/modules/dynamic/components/fields/Fieldset.ts +2 -1
  39. package/shared/modules/dynamic/components/fields/GalleryField.ts +3 -0
  40. package/shared/modules/dynamic/components/fields/ImageField.ts +3 -0
  41. package/shared/modules/dynamic/components/fields/InputCurrency.ts +3 -0
  42. package/shared/modules/dynamic/components/fields/InputField.ts +3 -0
  43. package/shared/modules/dynamic/components/fields/MultivalueField.ts +3 -0
  44. package/shared/modules/dynamic/components/fields/RatingField.ts +3 -0
  45. package/shared/modules/dynamic/components/fields/SelectField.ts +3 -0
  46. package/shared/modules/dynamic/components/fields/StatusField.ts +3 -0
  47. package/shared/modules/dynamic/components/fields/SwitchField.ts +3 -0
  48. package/shared/modules/dynamic/components/fields/Table.ts +1 -3
  49. package/shared/modules/dynamic/components/fields/TextareaField.ts +3 -0
  50. package/shared/modules/dynamic/components/fields/VideoField.ts +3 -0
  51. package/shared/modules/dynamic/composables/useFilterBuilder/index.ts +6 -8
  52. package/shared/modules/dynamic/helpers/nodeBuilder.ts +1 -1
  53. package/shared/modules/dynamic/types/models.ts +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vc-shell/framework",
3
- "version": "1.0.160",
3
+ "version": "1.0.163",
4
4
  "type": "module",
5
5
  "main": "./dist/framework.js",
6
6
  "types": "./dist/index.d.ts",
@@ -53,9 +53,9 @@
53
53
  "whatwg-fetch": "^3.6.19"
54
54
  },
55
55
  "devDependencies": {
56
- "@vc-shell/api-client-generator": "^1.0.160",
57
- "@vc-shell/config-generator": "^1.0.160",
58
- "@vc-shell/ts-config": "^1.0.160",
56
+ "@vc-shell/api-client-generator": "^1.0.163",
57
+ "@vc-shell/config-generator": "^1.0.163",
58
+ "@vc-shell/ts-config": "^1.0.163",
59
59
  "@vitejs/plugin-vue": "^5.0.3",
60
60
  "sass": "^1.69.6",
61
61
  "typescript": "^5.3.3",
@@ -52,6 +52,7 @@ export const ControlBaseProps = ({
52
52
  name = undefined,
53
53
  tooltip = undefined,
54
54
  key = undefined,
55
+ classNames = undefined,
55
56
  ...rest
56
57
  }: IControlBaseProps): IControlBaseProps => ({
57
58
  key,
@@ -62,6 +63,7 @@ export const ControlBaseProps = ({
62
63
  required,
63
64
  name,
64
65
  tooltip,
66
+ classNames,
65
67
  ...rest,
66
68
  });
67
69
 
@@ -24,6 +24,9 @@ export default {
24
24
  },
25
25
  },
26
26
  unrefNested(props.baseProps),
27
+ {
28
+ class: unrefNested(props.baseProps).classNames ?? "",
29
+ },
27
30
  ),
28
31
  slots: {
29
32
  default: () => unref(computed(() => t(props.element.content))),
@@ -63,6 +63,9 @@ export default {
63
63
  "onState:collapsed": (e: boolean) => handleCollapsed(props.element.id, e),
64
64
  },
65
65
  unrefNested(props.baseProps),
66
+ {
67
+ class: unrefNested(props.baseProps).classNames ?? "",
68
+ },
66
69
  ),
67
70
 
68
71
  slots: {
@@ -22,6 +22,9 @@ export default {
22
22
  falseValue: props.element.falseValue,
23
23
  },
24
24
  unrefNested(props.baseProps),
25
+ {
26
+ class: unrefNested(props.baseProps).classNames ?? "",
27
+ },
25
28
  ),
26
29
  slots: {
27
30
  default: () =>
@@ -18,6 +18,9 @@ export default {
18
18
  orientation: props.element.orientation,
19
19
  },
20
20
  unrefNested(props.baseProps),
21
+ {
22
+ class: unrefNested(props.baseProps).classNames ?? "",
23
+ },
21
24
  ),
22
25
  });
23
26
 
@@ -1,6 +1,7 @@
1
1
  import { CustomComponentSchema } from "./../../types";
2
2
  import { ExtractPropTypes, resolveComponent, h } from "vue";
3
3
  import componentProps from "./props";
4
+ import { unrefNested } from "../../helpers/unrefNested";
4
5
 
5
6
  export default {
6
7
  name: "CustomComponentRenderer",
@@ -10,9 +11,18 @@ export default {
10
11
  const component = resolveComponent(props.element?.name);
11
12
 
12
13
  return typeof component === "object"
13
- ? h(component, {
14
- context: props.bladeContext,
15
- })
14
+ ? h(
15
+ component,
16
+ Object.assign(
17
+ {},
18
+ {
19
+ context: props.bladeContext,
20
+ },
21
+ {
22
+ class: unrefNested(props.baseProps).classNames ?? "",
23
+ },
24
+ ),
25
+ )
16
26
  : null;
17
27
  };
18
28
  },
@@ -122,7 +122,14 @@ export default {
122
122
 
123
123
  return () => {
124
124
  return properties && properties.length
125
- ? properties?.map((field) => h(field.component as Component, unrefNested(field.props)))
125
+ ? properties?.map((field) =>
126
+ h(
127
+ field.component as Component,
128
+ Object.assign(unrefNested(field.props), {
129
+ class: unrefNested(props.baseProps).classNames ?? "",
130
+ }),
131
+ ),
132
+ )
126
133
  : null;
127
134
  };
128
135
  },
@@ -17,6 +17,9 @@ export default {
17
17
  assetsFolder: unref(props.formData).id || unref(props.formData).categoryId,
18
18
  },
19
19
  unrefNested(props.baseProps),
20
+ {
21
+ class: unrefNested(props.baseProps).classNames ?? "",
22
+ },
20
23
  ),
21
24
  });
22
25
 
@@ -3,6 +3,7 @@ import componentProps from "./props";
3
3
  import * as _ from "lodash-es";
4
4
  import { VcButton, VcCol, VcRow } from "../../../../../ui/components";
5
5
  import { FieldsetSchema } from "../../types";
6
+ import { unrefNested } from "../../helpers/unrefNested";
6
7
 
7
8
  export default {
8
9
  name: "Fieldset",
@@ -19,7 +20,7 @@ export default {
19
20
  return h(
20
21
  "div",
21
22
  {
22
- class: "tw-flex tw-row tw-relative",
23
+ class: `tw-flex tw-row tw-relative ${unrefNested(props.baseProps).classNames ?? ""}`,
23
24
  key: `fieldset-${index}`,
24
25
  },
25
26
  [
@@ -134,6 +134,9 @@ export default {
134
134
  hideAfterUpload: props.element.hideAfterUpload,
135
135
  },
136
136
  unrefNested(props.baseProps),
137
+ {
138
+ class: unrefNested(props.baseProps).classNames ?? "",
139
+ },
137
140
  ),
138
141
  });
139
142
 
@@ -22,6 +22,9 @@ export default {
22
22
  background: props.element.background,
23
23
  },
24
24
  unrefNested(props.baseProps),
25
+ {
26
+ class: unrefNested(props.baseProps).classNames ?? "",
27
+ },
25
28
  ),
26
29
  });
27
30
 
@@ -33,6 +33,9 @@ export default {
33
33
  clearable: props.element.clearable || false,
34
34
  },
35
35
  unrefNested(props.baseProps),
36
+ {
37
+ class: unrefNested(props.baseProps).classNames ?? "",
38
+ },
36
39
  ),
37
40
  });
38
41
  const render = h(field.component as Component, field.props);
@@ -27,6 +27,9 @@ export default {
27
27
  clearable: props.element.clearable || false,
28
28
  },
29
29
  unrefNested(props.baseProps),
30
+ {
31
+ class: unrefNested(props.baseProps).classNames ?? "",
32
+ },
30
33
  ),
31
34
  slots: Object.entries(slotsMap).reduce(
32
35
  (acc, [key, value]) => {
@@ -26,6 +26,9 @@ export default {
26
26
  currentLanguage: props.currentLocale,
27
27
  },
28
28
  unrefNested(props.baseProps),
29
+ {
30
+ class: unrefNested(props.baseProps).classNames ?? "",
31
+ },
29
32
  ),
30
33
 
31
34
  slots:
@@ -16,6 +16,9 @@ export default {
16
16
  variant: props.element.type,
17
17
  },
18
18
  unrefNested(props.baseProps),
19
+ {
20
+ class: unrefNested(props.baseProps).classNames ?? "",
21
+ },
19
22
  ),
20
23
  });
21
24
 
@@ -29,6 +29,9 @@ export default {
29
29
  searchable: props.element.searchable || false,
30
30
  },
31
31
  unrefNested(props.baseProps),
32
+ {
33
+ class: unrefNested(props.baseProps).classNames ?? "",
34
+ },
32
35
  ),
33
36
 
34
37
  slots:
@@ -33,6 +33,9 @@ export default {
33
33
  extend: props.element.extend,
34
34
  },
35
35
  unrefNested(props.baseProps),
36
+ {
37
+ class: unrefNested(props.baseProps).classNames ?? "",
38
+ },
36
39
  ),
37
40
  slots: {
38
41
  default: () => {
@@ -17,6 +17,9 @@ export default {
17
17
  falseValue: props.element.falseValue,
18
18
  },
19
19
  unrefNested(props.baseProps),
20
+ {
21
+ class: unrefNested(props.baseProps).classNames ?? "",
22
+ },
20
23
  ),
21
24
  });
22
25
 
@@ -27,9 +27,7 @@ export default {
27
27
  columns: props.element.columns?.map((col) => ({ ...col, title: computed(() => t(col.title)) })),
28
28
  items: unrefNested(props.baseProps).modelValue ?? [],
29
29
  stateKey: props.element.id,
30
- class: {
31
- "!tw-flex-auto": true,
32
- },
30
+ class: `!tw-flex-auto ${unrefNested(props.baseProps).classNames ?? ""}`,
33
31
  },
34
32
  unrefNested(props.baseProps),
35
33
  ),
@@ -18,6 +18,9 @@ export default {
18
18
  clearable: props.element.clearable || false,
19
19
  },
20
20
  unrefNested(props.baseProps),
21
+ {
22
+ class: unrefNested(props.baseProps).classNames ?? "",
23
+ },
21
24
  ),
22
25
  });
23
26
 
@@ -17,6 +17,9 @@ export default {
17
17
  size: props.element.size,
18
18
  },
19
19
  unrefNested(props.baseProps),
20
+ {
21
+ class: unrefNested(props.baseProps).classNames ?? "",
22
+ },
20
23
  ),
21
24
  });
22
25
 
@@ -1,3 +1,4 @@
1
+ import { toReactive, createUnrefFn } from "@vueuse/core";
1
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
3
  import {
3
4
  h,
@@ -19,7 +20,6 @@ import * as _ from "lodash-es";
19
20
  import { Checkbox, InputField } from "../../components/factories";
20
21
  import { AsyncAction } from "../../../../../core/composables";
21
22
  import { VcButton, VcCol, VcContainer, VcRow } from "../../../../../ui/components";
22
- import { createUnrefFn } from "@vueuse/core";
23
23
  import { useI18n } from "vue-i18n";
24
24
  import { FilterBase, FilterCheckbox, FilterDateInput } from "../../types";
25
25
 
@@ -163,14 +163,14 @@ export default <Query>(args: {
163
163
  }
164
164
 
165
165
  async function applyFilters(filterHandlerFn: () => void) {
166
+ appliedFilter.value = {
167
+ ...filter.value,
168
+ };
166
169
  filterHandlerFn();
167
170
  await _search({
168
171
  ...unref(args.query),
169
172
  ...filter.value,
170
173
  });
171
- appliedFilter.value = {
172
- ...filter.value,
173
- };
174
174
  }
175
175
 
176
176
  async function resetFilters(filterHandlerFn: () => void) {
@@ -190,9 +190,7 @@ export default <Query>(args: {
190
190
  VcContainer,
191
191
  {
192
192
  onVnodeBeforeMount: () => {
193
- if (Object.keys(appliedFilter.value).length) {
194
- filter.value = _.cloneDeep(appliedFilter.value);
195
- }
193
+ filter.value = { ...appliedFilter.value };
196
194
  },
197
195
  },
198
196
  () => [
@@ -253,7 +251,7 @@ export default <Query>(args: {
253
251
  return {
254
252
  filterComponent: render,
255
253
  activeFilterCount,
256
- filter: readonly(filter.value),
254
+ filter: readonly(toReactive(filter)),
257
255
  isFilterVisible: computed(() => isFilterVisible.value),
258
256
  reset,
259
257
  };
@@ -118,7 +118,7 @@ function nodeBuilder<
118
118
  "onUpdate:modelValue": onUpdateModelValue,
119
119
  tooltip: computed(() => (tooltip ? t(tooltip) : undefined)),
120
120
  multilanguage,
121
- class:
121
+ classNames:
122
122
  "horizontalSeparator" in controlSchema && controlSchema.horizontalSeparator
123
123
  ? "tw-border-b tw-border-solid tw-border-b-[#e5e5e5] tw-mb-[5px] tw-pb-[21px]"
124
124
  : "",
@@ -77,6 +77,7 @@ export interface IControlBaseProps {
77
77
  tooltip?: string;
78
78
  "onUpdate:modelValue"?: (event: any) => void;
79
79
  multilanguage?: boolean;
80
+ classNames?: string;
80
81
  }
81
82
 
82
83
  export type WithRequiredProperty<Type, Key extends keyof Type> = Type & {