@vc-shell/framework 1.0.327 → 1.0.329

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 (45) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/core/plugins/signalR/index.ts +2 -3
  3. package/dist/core/plugins/signalR/index.d.ts.map +1 -1
  4. package/dist/framework.js +1 -1
  5. package/dist/{index-B0gk_mcS.js → index-79zArAxD.js} +1 -1
  6. package/dist/{index-52C01JSh.js → index-B1nn67US.js} +1 -1
  7. package/dist/{index-Dr0Jm59E.js → index-B8fhjK6H.js} +1 -1
  8. package/dist/{index-YPa3sZmi.js → index-BL8x9T7Q.js} +1 -1
  9. package/dist/{index-cnzEckQv.js → index-BVDZjNUs.js} +1 -1
  10. package/dist/{index-CimbhNJz.js → index-BhRiuBp1.js} +1 -1
  11. package/dist/{index-D2jOZZjY.js → index-C53f0GJf.js} +1 -1
  12. package/dist/{index-sB8jPoQD.js → index-C7N0IjBz.js} +1 -1
  13. package/dist/{index-BzXuUqVu.js → index-Cjo3O4qe.js} +1 -1
  14. package/dist/{index-C8ZFV-LP.js → index-CxEJY6Fc.js} +7699 -7657
  15. package/dist/{index-DAPeO06N.js → index-DO_pVN9R.js} +1 -1
  16. package/dist/{index-KsWKxMp0.js → index-Ddn-IAQa.js} +1 -1
  17. package/dist/{index-CJmhp9vS.js → index-DmJWFIMv.js} +1 -1
  18. package/dist/{index-iKZHcZzW.js → index-QuWrCrcD.js} +1 -1
  19. package/dist/{index-F3Hq-uIf.js → index-R6AhMjH4.js} +1 -1
  20. package/dist/{index-uJMg_eoD.js → index-cyA77Gqt.js} +1 -1
  21. package/dist/{index-CgCz4CyH.js → index-y1QfutGJ.js} +1 -1
  22. package/dist/index.css +1 -1
  23. package/dist/locales/en.json +2 -1
  24. package/dist/shared/components/common/popup/vc-popup-error.vue.d.ts +6 -2
  25. package/dist/shared/components/common/popup/vc-popup-error.vue.d.ts.map +1 -1
  26. package/dist/shared/components/common/popup/vc-popup-info.vue.d.ts +6 -2
  27. package/dist/shared/components/common/popup/vc-popup-info.vue.d.ts.map +1 -1
  28. package/dist/shared/components/common/popup/vc-popup-warning.vue.d.ts +6 -2
  29. package/dist/shared/components/common/popup/vc-popup-warning.vue.d.ts.map +1 -1
  30. package/dist/shared/components/notification-dropdown/_internal/notification/notification.vue.d.ts +3 -3
  31. package/dist/shared/components/notification-dropdown/_internal/notification/notification.vue.d.ts.map +1 -1
  32. package/dist/shared/components/notification-template/index.d.ts +25 -4
  33. package/dist/shared/components/notification-template/index.d.ts.map +1 -1
  34. package/dist/shared/components/notification-template/notification-template.vue.d.ts +12 -2
  35. package/dist/shared/components/notification-template/notification-template.vue.d.ts.map +1 -1
  36. package/dist/tsconfig.tsbuildinfo +1 -1
  37. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  38. package/package.json +4 -4
  39. package/shared/components/common/popup/vc-popup-error.vue +11 -0
  40. package/shared/components/common/popup/vc-popup-info.vue +11 -0
  41. package/shared/components/common/popup/vc-popup-warning.vue +11 -0
  42. package/shared/components/notification-dropdown/_internal/notification/notification.vue +23 -22
  43. package/shared/components/notification-dropdown/notification-dropdown.vue +1 -1
  44. package/shared/components/notification-template/notification-template.vue +30 -6
  45. package/ui/components/organisms/vc-blade/vc-blade.vue +14 -5
@@ -1 +1 @@
1
- {"version":3,"file":"vc-blade.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/organisms/vc-blade/vc-blade.vue.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AASvD,MAAM,WAAW,KAAK;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsaD,wBAAwG;AACxG,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;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC;AACxD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"vc-blade.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/organisms/vc-blade/vc-blade.vue.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AASvD,MAAM,WAAW,KAAK;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACxB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+aD,wBAAwG;AACxG,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;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC;AACxD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vc-shell/framework",
3
- "version": "1.0.327",
3
+ "version": "1.0.329",
4
4
  "type": "module",
5
5
  "main": "./dist/framework.js",
6
6
  "types": "./dist/index.d.ts",
@@ -59,9 +59,9 @@
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/dompurify": "^3.0.5",
62
- "@vc-shell/api-client-generator": "^1.0.327",
63
- "@vc-shell/config-generator": "^1.0.327",
64
- "@vc-shell/ts-config": "^1.0.327",
62
+ "@vc-shell/api-client-generator": "^1.0.329",
63
+ "@vc-shell/config-generator": "^1.0.329",
64
+ "@vc-shell/ts-config": "^1.0.329",
65
65
  "@vitejs/plugin-vue": "5.0.3",
66
66
  "cypress-signalr-mock": "^1.5.0",
67
67
  "sass": "^1.69.6",
@@ -5,6 +5,12 @@
5
5
  :title="title"
6
6
  @close="$emit('close')"
7
7
  >
8
+ <template
9
+ v-if="$slots.header"
10
+ #header
11
+ >
12
+ <slot name="header" />
13
+ </template>
8
14
  <template #content>
9
15
  <slot />
10
16
  </template>
@@ -35,6 +41,11 @@ export interface Emits {
35
41
  defineProps<Props>();
36
42
 
37
43
  defineEmits<Emits>();
44
+
45
+ defineSlots<{
46
+ header: void;
47
+ default: void;
48
+ }>();
38
49
  </script>
39
50
 
40
51
  <style lang="scss">
@@ -5,6 +5,12 @@
5
5
  :title="title"
6
6
  @close="$emit('close')"
7
7
  >
8
+ <template
9
+ v-if="$slots.header"
10
+ #header
11
+ >
12
+ <slot name="header" />
13
+ </template>
8
14
  <template #content>
9
15
  <slot />
10
16
  </template>
@@ -35,6 +41,11 @@ export interface Emits {
35
41
  defineProps<Props>();
36
42
 
37
43
  defineEmits<Emits>();
44
+
45
+ defineSlots<{
46
+ header: void;
47
+ default: void;
48
+ }>();
38
49
  </script>
39
50
 
40
51
  <style lang="scss">
@@ -5,6 +5,12 @@
5
5
  :title="title"
6
6
  @close="$emit('close')"
7
7
  >
8
+ <template
9
+ v-if="$slots.header"
10
+ #header
11
+ >
12
+ <slot name="header" />
13
+ </template>
8
14
  <template #content>
9
15
  <slot />
10
16
  </template>
@@ -38,6 +44,11 @@ export interface Emits {
38
44
  defineProps<Props>();
39
45
 
40
46
  defineEmits<Emits>();
47
+
48
+ defineSlots<{
49
+ header: void;
50
+ default: void;
51
+ }>();
41
52
  </script>
42
53
 
43
54
  <style lang="scss">
@@ -1,11 +1,14 @@
1
1
  <template>
2
2
  <div class="tw-flex">
3
3
  <VcRow class="tw-justify-between tw-grow tw-basis-0 !tw-flex">
4
- <template v-if="currentTemplate">
5
- <notificationTemplateRenderer />
6
- </template>
7
- <template v-else>
4
+ <div @click="handleClick">
5
+ <component
6
+ :is="currentTemplate"
7
+ v-if="currentTemplate"
8
+ v-bind="templateProps"
9
+ />
8
10
  <NotificationTemplate
11
+ v-else
9
12
  :color="notificationStyle.color"
10
13
  :title="notification.title ?? ''"
11
14
  :icon="notificationStyle.icon"
@@ -14,20 +17,20 @@
14
17
  <VcHint
15
18
  v-if="notification.description"
16
19
  class="tw-mb-1"
17
- >{{ notification.description }}</VcHint
18
20
  >
21
+ {{ notification.description }}
22
+ </VcHint>
19
23
  </NotificationTemplate>
20
- </template>
24
+ </div>
21
25
  </VcRow>
22
26
  </div>
23
27
  </template>
24
28
 
25
29
  <script lang="ts" setup>
26
- import { computed, h } from "vue";
30
+ import { computed } from "vue";
27
31
  import { PushNotification } from "./../../../../../core/api/platform";
28
- import { VcRow } from "./../../../../../ui/components";
29
- import { NotificationTemplate } from "./../../../notification-template";
30
32
  import { NotificationTemplateConstructor } from "../../../../../core/types";
33
+ import { NotificationTemplate } from "../../../notification-template";
31
34
 
32
35
  export interface Props {
33
36
  notification: PushNotification;
@@ -35,28 +38,26 @@ export interface Props {
35
38
  }
36
39
 
37
40
  export interface Emits {
38
- (event: "onClick"): void;
41
+ (event: "onClick", notification: PushNotification): void;
39
42
  }
40
43
 
41
44
  const props = defineProps<Props>();
42
-
43
45
  const emit = defineEmits<Emits>();
44
46
 
47
+ const currentTemplate = computed(() => props.templates?.find((x) => x?.notifyType === props.notification.notifyType));
48
+
49
+ const templateProps = computed(() => ({
50
+ notification: props.notification,
51
+ }));
52
+
53
+ const handleClick = () => {
54
+ emit("onClick", props.notification);
55
+ };
56
+
45
57
  const notificationStyle = computed(() => ({
46
58
  color: "var(--notification-icon-color)",
47
59
  icon: "fas fa-info",
48
60
  }));
49
-
50
- const currentTemplate = computed(() => props.templates?.find((x) => x?.notifyType === props.notification.notifyType));
51
-
52
- function notificationTemplateRenderer() {
53
- const notificationTemplate = currentTemplate.value;
54
-
55
- return (
56
- notificationTemplate &&
57
- h(notificationTemplate, { notification: props.notification, onNotificationClick: () => emit("onClick") })
58
- );
59
- }
60
61
  </script>
61
62
 
62
63
  <style lang="scss">
@@ -123,7 +123,7 @@ function onOpen(state: boolean) {
123
123
 
124
124
  &__item {
125
125
  @apply tw-py-[18px] tw-px-[15px] tw-border-b tw-border-solid
126
- tw-border-b-[var(--notification-dropdown-border-color)] tw-cursor-pointer;
126
+ tw-border-b-[var(--notification-dropdown-border-color)];
127
127
  transition: background-color 0.2s;
128
128
 
129
129
  &:last-of-type {
@@ -1,5 +1,10 @@
1
1
  <template>
2
- <div class="vc-notification-template">
2
+ <div
3
+ class="vc-notification-template"
4
+ :class="{ 'vc-notification-template--clickable': $attrs.onClick }"
5
+ v-bind="$attrs"
6
+ @click="handleTemplateClick"
7
+ >
3
8
  <div
4
9
  class="vc-notification-template__container"
5
10
  :class="{
@@ -24,7 +29,10 @@
24
29
  >
25
30
  {{ title }}
26
31
  </p>
27
- <slot></slot>
32
+ <slot
33
+ v-bind="$attrs"
34
+ v-on="$attrs"
35
+ ></slot>
28
36
  </div>
29
37
  </div>
30
38
  <div
@@ -50,15 +58,29 @@ export interface Props {
50
58
  icon: string;
51
59
  title: string;
52
60
  notification: PushNotification;
61
+ clickable?: boolean;
62
+ }
63
+
64
+ export interface Emits {
65
+ (event: "onClick", notification: PushNotification): void;
53
66
  }
54
67
 
55
68
  const props = defineProps<Props>();
69
+ const emit = defineEmits<Emits>();
56
70
 
57
71
  const locale = window.navigator.language;
58
72
 
59
73
  const pushTime = computed(() => {
60
74
  return moment(props.notification.created).locale(locale).format("L LT");
61
75
  });
76
+
77
+ const handleTemplateClick = () => {
78
+ emit("onClick", props.notification);
79
+ };
80
+
81
+ defineOptions({
82
+ inheritAttrs: false,
83
+ });
62
84
  </script>
63
85
 
64
86
  <style lang="scss">
@@ -71,6 +93,10 @@ const pushTime = computed(() => {
71
93
  .vc-notification-template {
72
94
  @apply tw-w-full;
73
95
 
96
+ &--clickable {
97
+ cursor: pointer;
98
+ }
99
+
74
100
  &__container {
75
101
  @apply tw-flex tw-flex-row tw-justify-between tw-grow tw-basis-0;
76
102
 
@@ -84,13 +110,11 @@ const pushTime = computed(() => {
84
110
  }
85
111
 
86
112
  &__icon-container {
87
- @apply tw-w-[41px] tw-h-[41px] tw-rounded-full tw-text-[color:var(--notification-template-icon-color)]
88
- tw-mr-4 tw-flex tw-items-center tw-justify-center tw-shrink-0;
113
+ @apply tw-w-[41px] tw-h-[41px] tw-rounded-full tw-text-[color:var(--notification-template-icon-color)] tw-mr-4 tw-flex tw-items-center tw-justify-center tw-shrink-0;
89
114
  }
90
115
 
91
116
  &__title {
92
- @apply tw-text-[color:var(--notification-template-text-color)] tw-text-lg tw-leading-[19px]
93
- tw-font-bold tw-m-0 tw-mb-1;
117
+ @apply tw-text-[color:var(--notification-template-text-color)] tw-text-lg tw-leading-[19px] tw-font-bold tw-m-0 tw-mb-1;
94
118
  word-break: break-word;
95
119
 
96
120
  &--desktop {
@@ -136,13 +136,13 @@
136
136
  </template>
137
137
 
138
138
  <script lang="ts" setup>
139
- import { computed, Ref, reactive, useAttrs, toRefs, toValue, ref, onMounted, onUpdated } from "vue";
139
+ import { computed, Ref, reactive, useAttrs, toRefs, toValue, ref, onMounted, onUpdated, defineComponent, h } from "vue";
140
140
  import { IBladeToolbar } from "../../../../core/types";
141
141
  import { usePopup } from "./../../../../shared";
142
142
  import { useI18n } from "vue-i18n";
143
143
  import VcBladeHeader from "./_internal/vc-blade-header/vc-blade-header.vue";
144
144
  import VcBladeToolbar from "./_internal/vc-blade-toolbar/vc-blade-toolbar.vue";
145
- import { VcButton, VcIcon } from "./../../";
145
+ import { VcButton, VcIcon, VcLink } from "./../../";
146
146
  import vcPopupError from "../../../../shared/components/common/popup/vc-popup-error.vue";
147
147
  import { useLocalStorage } from "@vueuse/core";
148
148
 
@@ -216,11 +216,20 @@ onUpdated(() => {
216
216
 
217
217
  const { open } = usePopup({
218
218
  component: vcPopupError,
219
- props: {
220
- title: t("COMPONENTS.ORGANISMS.VC_BLADE.ERROR_POPUP.TITLE"),
221
- },
222
219
  slots: {
223
220
  default: computed(() => toValue(error)),
221
+ header: defineComponent({
222
+ render: () =>
223
+ h("div", [
224
+ t("COMPONENTS.ORGANISMS.VC_BLADE.ERROR_POPUP.TITLE"),
225
+ " ",
226
+ h(
227
+ VcLink,
228
+ { onClick: () => navigator.clipboard.writeText(toValue(error) ?? "") },
229
+ `(${t("COMPONENTS.ORGANISMS.VC_BLADE.ERROR_POPUP.COPY_ERROR")})`,
230
+ ),
231
+ ]),
232
+ }),
224
233
  },
225
234
  });
226
235
  </script>