@vc-shell/framework 1.0.155 → 1.0.157

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../../../shared/modules/dynamic/components/fields/Button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAAY,MAAM,KAAK,CAAC;AAE5D,OAAO,cAAc,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK5B,iBAAiB,qBAAqB,CAAC,GAAG;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE;;;;AAHlF,wBAwBE"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../../../shared/modules/dynamic/components/fields/Button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAAsB,MAAM,KAAK,CAAC;AAEtE,OAAO,cAAc,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM5B,iBAAiB,qBAAqB,CAAC,GAAG;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE;;;;AAHlF,wBAyBE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../shared/modules/dynamic/composables/useFilterBuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,QAAQ,EAKR,eAAe,EACf,YAAY,EACZ,KAAK,EACL,WAAW,EAEZ,MAAM,KAAK,CAAC;AAGb,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAK9D,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjD;AASD,UAAU,IAAI;IACZ,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,UAAU,EAAE,CAAC;KACxB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,CAAC,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAChD,KAAK,CACH,YAAY,EACZ,eAAe,EACf;QAEE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CACF,GACD,SAAS,CAAC;IACd,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;;UAGO,IAAI,GAAG,SAAS;;;MAGpB,gBAAgB;AAJpB,wBA+LE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../shared/modules/dynamic/composables/useFilterBuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,QAAQ,EAKR,eAAe,EACf,YAAY,EACZ,KAAK,EACL,WAAW,EAGZ,MAAM,KAAK,CAAC;AAGb,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAK9D,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjD;AASD,UAAU,IAAI;IACZ,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,UAAU,EAAE,CAAC;KACxB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,CAAC,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAChD,KAAK,CACH,YAAY,EACZ,eAAe,EACf;QAEE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CACF,GACD,SAAS,CAAC;IACd,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;;UAGO,IAAI,GAAG,SAAS;;;MAGpB,gBAAgB;AAJpB,wBAmME"}
@@ -1 +1 @@
1
- {"version":3,"file":"vc-table-cell.vue.d.ts","sourceRoot":"","sources":["../../../../../../../ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;;AAkQD,wBAMG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
1
+ {"version":3,"file":"vc-table-cell.vue.d.ts","sourceRoot":"","sources":["../../../../../../../ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;;AAiVD,wBAMG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vc-shell/framework",
3
- "version": "1.0.155",
3
+ "version": "1.0.157",
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.155",
57
- "@vc-shell/config-generator": "^1.0.155",
58
- "@vc-shell/ts-config": "^1.0.155",
56
+ "@vc-shell/api-client-generator": "^1.0.157",
57
+ "@vc-shell/config-generator": "^1.0.157",
58
+ "@vc-shell/ts-config": "^1.0.157",
59
59
  "@vitejs/plugin-vue": "^5.0.3",
60
60
  "sass": "^1.69.6",
61
61
  "typescript": "^5.3.3",
@@ -1,12 +1,14 @@
1
- import { Component, ExtractPropTypes, h, unref } from "vue";
1
+ import { Component, ExtractPropTypes, computed, h, unref } from "vue";
2
2
  import { Button } from "../factories";
3
3
  import componentProps from "./props";
4
4
  import { ButtonSchema } from "../../types";
5
+ import { useI18n } from "vue-i18n";
5
6
 
6
7
  export default {
7
8
  name: "ButtonEl",
8
9
  props: componentProps,
9
10
  setup(props: ExtractPropTypes<typeof componentProps> & { element: ButtonSchema }) {
11
+ const { t } = useI18n({ useScope: "global" });
10
12
  return () => {
11
13
  const field = Button({
12
14
  props: {
@@ -20,7 +22,7 @@ export default {
20
22
  },
21
23
  },
22
24
  slots: {
23
- default: () => props.element.content,
25
+ default: () => unref(computed(() => t(props.element.content))),
24
26
  },
25
27
  });
26
28
 
@@ -12,6 +12,7 @@ import {
12
12
  VNode,
13
13
  ComputedRef,
14
14
  readonly,
15
+ toValue,
15
16
  } from "vue";
16
17
  import * as _ from "lodash-es";
17
18
  import { Checkbox, InputField } from "../../components/factories";
@@ -148,7 +149,7 @@ export default <Query>(args: {
148
149
  "onUpdate:modelValue": (e: boolean) => selectFilterItem(e, currC.value, control.field, control.multiple),
149
150
  },
150
151
  slots: {
151
- default: () => currC.displayName,
152
+ default: () => unref(computed(() => t(currC.displayName))),
152
153
  },
153
154
  });
154
155
 
@@ -163,7 +164,7 @@ export default <Query>(args: {
163
164
  props: {
164
165
  type: "date",
165
166
  classNames: "tw-mb-3",
166
- label: control.label,
167
+ label: toValue(computed(() => t(control.label ?? ""))),
167
168
  modelValue: computed(() => filter[control.field]),
168
169
  "onUpdate:modelValue": (e: unknown) => (filter[control.field] = e),
169
170
  },
@@ -198,7 +199,11 @@ export default <Query>(args: {
198
199
  h(VcRow, () =>
199
200
  Object.values(controls.value).map(({ title, fields }) =>
200
201
  h(VcCol, { class: "tw-p-2" }, () => [
201
- h("div", { class: "tw-mb-4 tw-text-[#a1c0d4] tw-font-bold tw-text-[17px]" }, title),
202
+ h(
203
+ "div",
204
+ { class: "tw-mb-4 tw-text-[#a1c0d4] tw-font-bold tw-text-[17px]" },
205
+ unref(computed(() => t(title))),
206
+ ),
202
207
  Object.values(fields).map((item) => {
203
208
  if ("component" in item && item.component) {
204
209
  return h(
@@ -46,7 +46,7 @@
46
46
  <script lang="ts" setup>
47
47
  import { VcIcon } from "./../../../components";
48
48
  import { ref } from "vue";
49
- import { useFloating, shift, flip } from "@floating-ui/vue";
49
+ import { useFloating, shift } from "@floating-ui/vue";
50
50
 
51
51
  export interface Props {
52
52
  required?: boolean;
@@ -70,7 +70,7 @@ const tooltipRef = ref<HTMLElement | null>(null);
70
70
 
71
71
  const { floatingStyles } = useFloating(tooltipIconRef, tooltipRef, {
72
72
  placement: "top-start",
73
- middleware: [flip({ fallbackPlacements: ["top-start", "bottom-start"] }), shift({ mainAxis: false })],
73
+ middleware: [shift()],
74
74
  });
75
75
  </script>
76
76
 
@@ -1,14 +1,17 @@
1
1
  <template>
2
2
  <!-- Money cell -->
3
3
  <template v-if="cell.type === 'money'">
4
- <template v-if="typeof Number(value) === 'number' && Number(value) > 0">
5
- <span>{{ Math.trunc(Number(value)) }}</span
6
- ><span class="tw-text-[#a5a5a5] tw-text-xs"
4
+ <div
5
+ v-if="typeof Number(value) === 'number' && Number(value) > 0"
6
+ class="tw-truncate"
7
+ >
8
+ <span class="tw-truncate">{{ Math.trunc(Number(value)) }}</span
9
+ ><span class="tw-text-[#a5a5a5] tw-text-xs tw-truncate"
7
10
  >.{{ `${(Number(value) * 100) % 100}`.padEnd(2, "0").slice(0, 2) }}</span
8
11
  >
9
- </template>
12
+ </div>
10
13
  <template v-else>
11
- <span>N/A</span>
14
+ <div class="tw-truncate">N/A</div>
12
15
  </template>
13
16
  </template>
14
17
 
@@ -17,29 +20,60 @@
17
20
  v-else-if="cell.type === 'date-ago'"
18
21
  class="tw-text-[#a5a5a5]"
19
22
  >
20
- <template v-if="value">
23
+ <div
24
+ v-if="value"
25
+ class="tw-truncate"
26
+ >
21
27
  {{ moment(value).fromNow() }}
22
- </template>
23
- <template v-else>N/A</template>
28
+ </div>
29
+ <div
30
+ v-else
31
+ class="tw-truncate"
32
+ >
33
+ N/A
34
+ </div>
24
35
  </span>
25
36
 
26
37
  <!-- Date exact cell -->
27
- <span
38
+ <dvi
28
39
  v-else-if="cell.type === 'date' || cell.type === 'time' || cell.type === 'date-time'"
29
- class="tw-text-[#a5a5a5]"
40
+ class="tw-text-[#a5a5a5] tw-truncate"
30
41
  >
31
42
  <template v-if="value">
32
- <template v-if="cell.format">
43
+ <div
44
+ v-if="cell.format"
45
+ class="tw-truncate"
46
+ >
33
47
  {{ moment(value).locale(locale).format(cell.format) }}
34
- </template>
48
+ </div>
35
49
  <template v-else>
36
- <template v-if="cell.type === 'date'">{{ value instanceof Date && value.toLocaleDateString() }}</template>
37
- <template v-if="cell.type === 'time'">{{ value instanceof Date && value.toLocaleTimeString() }}</template>
38
- <template v-if="cell.type === 'date-time'">{{ value.toLocaleString() }}</template>
50
+ <div
51
+ v-if="cell.type === 'date'"
52
+ class="tw-truncate"
53
+ >
54
+ {{ value instanceof Date && value.toLocaleDateString() }}
55
+ </div>
56
+ <div
57
+ v-if="cell.type === 'time'"
58
+ class="tw-truncate"
59
+ >
60
+ {{ value instanceof Date && value.toLocaleTimeString() }}
61
+ </div>
62
+ <p
63
+ v-if="cell.type === 'date-time'"
64
+ class="tw-truncate"
65
+ >
66
+ {{ value.toLocaleString() }}
67
+ </p>
39
68
  </template>
40
69
  </template>
41
- <template v-else>N/A</template>
42
- </span>
70
+ <div
71
+ v-else
72
+ class="tw-truncate"
73
+ >
74
+ N/A
75
+ </div>
76
+ </dvi>
43
77
 
44
78
  <!-- Image cell -->
45
79
  <template v-else-if="cell.type === 'image'">
@@ -66,22 +100,25 @@
66
100
  </div>
67
101
 
68
102
  <!-- Number cell -->
69
- <span
103
+ <div
70
104
  v-else-if="cell.type === 'number'"
71
- class="tw-text-right"
105
+ class="tw-text-right tw-truncate"
72
106
  >
73
107
  {{ Number(value).toFixed(0) }}
74
- </span>
108
+ </div>
75
109
 
76
110
  <!-- Link cell -->
77
111
  <template v-else-if="cell.type === 'link'">
78
- <VcLink>{{ value }}</VcLink>
112
+ <VcLink class="tw-truncate">{{ value }}</VcLink>
79
113
  </template>
80
114
 
81
115
  <!-- Default cell -->
82
- <span v-else>
116
+ <div
117
+ v-else
118
+ class="tw-truncate"
119
+ >
83
120
  {{ value }}
84
- </span>
121
+ </div>
85
122
  </template>
86
123
 
87
124
  <script lang="ts" setup>
@@ -325,7 +325,7 @@
325
325
  <td
326
326
  v-for="cell in filteredCols"
327
327
  :key="`${(typeof item === 'object' && 'id' in item && item.id) || itemIndex}_${cell.id}`"
328
- class="tw-box-border tw-overflow-hidden tw-px-3 [&~:not(.vc-image):not(.vc-status)]:tw-truncate"
328
+ class="tw-box-border tw-overflow-hidden tw-px-3"
329
329
  :class="cell.class"
330
330
  :style="{ maxWidth: cell.width, width: cell.width }"
331
331
  >