@vc-shell/framework 1.0.92 → 1.0.94

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 (46) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/core/utilities/camelize.ts +5 -0
  3. package/core/utilities/generateId.ts +3 -0
  4. package/core/utilities/index.ts +2 -0
  5. package/core/utilities/kebabToCamel.ts +1 -1
  6. package/dist/core/utilities/camelize.d.ts +2 -0
  7. package/dist/core/utilities/camelize.d.ts.map +1 -0
  8. package/dist/core/utilities/generateId.d.ts +2 -0
  9. package/dist/core/utilities/generateId.d.ts.map +1 -0
  10. package/dist/core/utilities/index.d.ts +2 -0
  11. package/dist/core/utilities/index.d.ts.map +1 -1
  12. package/dist/core/utilities/kebabToCamel.d.ts +1 -0
  13. package/dist/core/utilities/kebabToCamel.d.ts.map +1 -1
  14. package/dist/framework.mjs +14119 -13897
  15. package/dist/index.css +1 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/tsconfig.tsbuildinfo +1 -1
  18. package/dist/ui/components/atoms/vc-label/index.d.ts +20 -0
  19. package/dist/ui/components/atoms/vc-label/index.d.ts.map +1 -1
  20. package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts +2 -0
  21. package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts.map +1 -1
  22. package/dist/ui/components/molecules/index.d.ts +1 -0
  23. package/dist/ui/components/molecules/index.d.ts.map +1 -1
  24. package/dist/ui/components/molecules/vc-editor/index.d.ts +10 -0
  25. package/dist/ui/components/molecules/vc-editor/index.d.ts.map +1 -1
  26. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +1 -0
  27. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  28. package/dist/ui/components/molecules/vc-multivalue/index.d.ts +42 -0
  29. package/dist/ui/components/molecules/vc-multivalue/index.d.ts.map +1 -0
  30. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts +66 -0
  31. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts.map +1 -0
  32. package/dist/ui/components/organisms/vc-dynamic-property/index.d.ts +129 -69
  33. package/dist/ui/components/organisms/vc-dynamic-property/index.d.ts.map +1 -1
  34. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts +126 -40
  35. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
  36. package/dist/ui/types/index.d.ts +1 -0
  37. package/dist/ui/types/index.d.ts.map +1 -1
  38. package/package.json +3 -3
  39. package/ui/components/atoms/vc-label/vc-label.vue +9 -1
  40. package/ui/components/molecules/index.ts +1 -0
  41. package/ui/components/molecules/vc-editor/vc-editor.vue +34 -13
  42. package/ui/components/molecules/vc-multivalue/index.ts +3 -0
  43. package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +396 -0
  44. package/ui/components/organisms/vc-dynamic-property/index.ts +1 -1
  45. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +210 -295
  46. package/ui/types/index.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"vc-dynamic-property.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,KAAK;IAEpB,QAAQ,EAAE,GAAG,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,CAEN,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,YAAY,CAAC,EAAE,OAAO,KAEnB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAE5D,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC;IACvG,MAAM,EAAE,CAEN,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAE7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAEtD,UAAU,CAAC,EAAE,GAAG,EAAE,KACf,IAAI,GAAG,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,mBAAmB,CAAC,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;;;;;;;;AAghBD,wBAAkD;AAElD,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"}
1
+ {"version":3,"file":"vc-dynamic-property.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.ts"],"names":[],"mappings":";;gBAmegB,GAAG;2CACwB,MAAM,KAAK,QAAQ,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE;cACtE,OAAO;iBACJ,OAAO;eACT,MAAM;iBACJ,OAAO;UACd,MAAM;mBACG,MAAM;mBACN,MAAM;mBACN;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,EAAE;YACK;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf;eACU,OAAO;kBACJ,MAAM;;;;oBAnBR,GAAG;+CACwB,MAAM,KAAK,QAAQ,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE;kBACtE,OAAO;qBACJ,OAAO;mBACT,MAAM;qBACJ,OAAO;cACd,MAAM;uBACG,MAAM;uBACN,MAAM;uBACN;YACb,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,YAAY,CAAC,EAAE,MAAM,CAAC;SACvB,EAAE;gBACK;YACN,GAAG,EAAE,MAAM,CAAC;YACZ,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,CAAC;SACf;mBACU,OAAO;sBACJ,MAAM;;yBAOe,IAAI;WACpC,GAAG;;;;;4BAL6D,GAAG;kCAAwB,GAAG,EAAE;;;;;;oBAtBvF,GAAG;+CACwB,MAAM,KAAK,QAAQ,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE;kBACtE,OAAO;qBACJ,OAAO;mBACT,MAAM;qBACJ,OAAO;cACd,MAAM;uBACG,MAAM;uBACN,MAAM;uBACN;YACb,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,YAAY,CAAC,EAAE,MAAM,CAAC;SACvB,EAAE;gBACK;YACN,GAAG,EAAE,MAAM,CAAC;YACZ,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,CAAC;SACf;mBACU,OAAO;sBACJ,MAAM;;yBAOe,IAAI;WACpC,GAAG;;;;;4BAL6D,GAAG;kCAAwB,GAAG,EAAE;;;;;;;;;wBAtBvF,GAAG;mDACwB,MAAM,KAAK,QAAQ,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE;sBACtE,OAAO;yBACJ,OAAO;uBACT,MAAM;yBACJ,OAAO;kBACd,MAAM;2BACG,MAAM;2BACN,MAAM;2BACN;gBACb,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,YAAY,CAAC,EAAE,MAAM,CAAC;aACvB,EAAE;oBACK;gBACN,GAAG,EAAE,MAAM,CAAC;gBACZ,GAAG,EAAE,MAAM,CAAC;gBACZ,KAAK,EAAE,MAAM,CAAC;aACf;uBACU,OAAO;0BACJ,MAAM;;6BAOe,IAAI;eACpC,GAAG;;;;;gCAL6D,GAAG;sCAAwB,GAAG,EAAE;;;;;AAlfvG,wBA2fkE"}
@@ -33,6 +33,7 @@ declare module "@vue/runtime-core" {
33
33
  VcSelect: (typeof VcShellComponents)["VcSelect"];
34
34
  VcSlider: (typeof VcShellComponents)["VcSlider"];
35
35
  VcTextarea: (typeof VcShellComponents)["VcTextarea"];
36
+ VcMultivalue: (typeof VcShellComponents)["VcMultivalue"];
36
37
  VcApp: (typeof VcShellComponents)["VcApp"];
37
38
  VcBlade: (typeof VcShellComponents)["VcBlade"];
38
39
  VcDynamicProperty: (typeof VcShellComponents)["VcDynamicProperty"];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ui/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ui/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vc-shell/framework",
3
- "version": "1.0.92",
3
+ "version": "1.0.94",
4
4
  "main": "./dist/framework.mjs",
5
5
  "module": "./dist/framework.mjs",
6
6
  "types": "./dist/index.d.ts",
@@ -55,8 +55,8 @@
55
55
  "whatwg-fetch": "^3.6.2"
56
56
  },
57
57
  "devDependencies": {
58
- "@vc-shell/api-client-generator": "^1.0.92",
59
- "@vc-shell/config-generator": "^1.0.92",
58
+ "@vc-shell/api-client-generator": "^1.0.94",
59
+ "@vc-shell/config-generator": "^1.0.94",
60
60
  "@vitejs/plugin-vue": "^4.2.3",
61
61
  "sass": "^1.62.1",
62
62
  "typescript": "~5.0.4",
@@ -1,11 +1,17 @@
1
1
  <template>
2
- <div class="tw-flex tw-flex-nowrap tw-font-bold">
2
+ <div class="tw-flex tw-flex-nowrap tw-font-bold tw-relative">
3
3
  <span><slot></slot></span>
4
4
  <span
5
5
  v-if="required"
6
6
  class="tw-text-[color:var(--label-required-color)] tw-ml-1"
7
7
  >*</span
8
8
  >
9
+ <span
10
+ v-if="multilanguage"
11
+ class="tw-text-[color:var(--app-menu-item-icon-color)] tw-absolute tw-right-0"
12
+ >
13
+ {{ currentLanguage }}
14
+ </span>
9
15
  <span
10
16
  v-if="$slots['tooltip']"
11
17
  class="tw-grow tw-basis-0 tw-ml-1"
@@ -34,6 +40,8 @@ import { ref } from "vue";
34
40
  export interface Props {
35
41
  required?: boolean;
36
42
  tooltipIcon?: string;
43
+ multilanguage?: boolean;
44
+ currentLanguage?: string;
37
45
  }
38
46
 
39
47
  withDefaults(defineProps<Props>(), {
@@ -11,3 +11,4 @@ export * from "./vc-rating";
11
11
  export * from "./vc-select";
12
12
  export * from "./vc-slider";
13
13
  export * from "./vc-textarea";
14
+ export * from "./vc-multivalue";
@@ -13,6 +13,8 @@
13
13
  v-if="label"
14
14
  class="tw-mb-2"
15
15
  :required="required"
16
+ :multilanguage="true"
17
+ :current-language="currentLanguage"
16
18
  >
17
19
  <span>{{ label }}</span>
18
20
  <template
@@ -63,10 +65,13 @@ export interface Props {
63
65
  tooltip?: string;
64
66
  errorMessage?: string;
65
67
  assetsFolder: string;
68
+ //languages?: string[];
69
+ currentLanguage?: string;
66
70
  }
67
71
 
68
72
  export interface Emits {
69
73
  (event: "update:modelValue", value: string | number | Date | null | undefined): void;
74
+ //(event: "update:currentLanguage", value: string): void;
70
75
  }
71
76
 
72
77
  const { getAccessToken } = useUser();
@@ -79,19 +84,27 @@ const props = withDefaults(defineProps<Props>(), {
79
84
  const emit = defineEmits<Emits>();
80
85
 
81
86
  const content = ref();
82
- const toolbar = [
83
- { header: 1 },
84
- { header: 2 },
85
- "bold",
86
- "italic",
87
- "underline",
88
- "strike",
89
- "link",
90
- "image",
91
- "blockquote",
92
- { list: "ordered" },
93
- { list: "bullet" },
94
- ];
87
+ const toolbar = {
88
+ container: [
89
+ { header: 1 },
90
+ { header: 2 },
91
+ "bold",
92
+ "italic",
93
+ "underline",
94
+ "strike",
95
+ "link",
96
+ "image",
97
+ "blockquote",
98
+ { list: "ordered" },
99
+ { list: "bullet" },
100
+ //{ language: [props.currentLanguage, ...props.languages.filter((lang) => lang !== props.currentLanguage)] },
101
+ ],
102
+ handlers: {
103
+ // language: function (value: string) {
104
+ // emit("update:currentLanguage", value);
105
+ // },
106
+ },
107
+ };
95
108
 
96
109
  const modules = {
97
110
  name: "imageUploader",
@@ -176,4 +189,12 @@ function isQuillEmpty(value: string) {
176
189
  }
177
190
  }
178
191
  }
192
+
193
+ .ql-language.ql-picker .ql-picker-label:before {
194
+ padding-right: 18px;
195
+ content: attr(data-value);
196
+ }
197
+ .ql-language.ql-picker .ql-picker-item:before {
198
+ content: attr(data-value);
199
+ }
179
200
  </style>
@@ -0,0 +1,3 @@
1
+ import _Multivalue from "./vc-multivalue.vue";
2
+
3
+ export const VcMultivalue = _Multivalue as typeof _Multivalue;
@@ -0,0 +1,396 @@
1
+ <template>
2
+ <div
3
+ class="vc-multivalue"
4
+ :class="[
5
+ `vc-multivalue_${type}`,
6
+ {
7
+ 'vc-multivalue_opened': isOpened,
8
+ 'vc-multivalue_error tw-pb-[20px]': error,
9
+ 'vc-multivalue_disabled': disabled,
10
+ },
11
+ ]"
12
+ >
13
+ <!-- Input label -->
14
+ <VcLabel
15
+ v-if="label"
16
+ class="tw-mb-2"
17
+ :required="required"
18
+ >
19
+ <span>{{ label }}</span>
20
+ <template
21
+ v-if="tooltip"
22
+ #tooltip
23
+ >{{ tooltip }}</template
24
+ >
25
+ </VcLabel>
26
+
27
+ <!-- Input field -->
28
+ <div
29
+ ref="dropdownToggleRef"
30
+ class="vc-multivalue__field-wrapper"
31
+ >
32
+ <div
33
+ v-for="(item, i) in modelValue"
34
+ :key="`${item.id}_${generateId()}`"
35
+ class="vc-multivalue__field-value-wrapper"
36
+ >
37
+ <div class="vc-multivalue__field-value">
38
+ <span class="tw-truncate">{{
39
+ type === "number" ? Number(item[props.emitLabel]).toFixed(3) : item[props.emitLabel]
40
+ }}</span>
41
+ <VcIcon
42
+ v-if="!disabled"
43
+ class="vc-multivalue__field-value-clear"
44
+ icon="fas fa-times"
45
+ size="s"
46
+ @click="onDelete(i)"
47
+ ></VcIcon>
48
+ </div>
49
+ </div>
50
+
51
+ <template v-if="multivalue">
52
+ <div class="vc-multivalue__field vc-multivalue__field_dictionary tw-grow tw-basis-0 tw-p-2">
53
+ <VcButton
54
+ small
55
+ @click.stop="toggleDropdown"
56
+ >Add +</VcButton
57
+ >
58
+ <teleport to="#app">
59
+ <div
60
+ v-if="isOpened"
61
+ ref="dropdownRef"
62
+ v-on-click-outside="[toggleDropdown, { ignore: [dropdownToggleRef] }]"
63
+ class="vc-multivalue__dropdown"
64
+ :style="dropdownStyle"
65
+ >
66
+ <input
67
+ ref="searchRef"
68
+ class="vc-multivalue__search"
69
+ @input="onSearch"
70
+ />
71
+
72
+ <VcContainer
73
+ ref="root"
74
+ :no-padding="true"
75
+ >
76
+ <div
77
+ v-for="(item, i) in slicedDictionary"
78
+ :key="i"
79
+ class="vc-multivalue__item"
80
+ @click="onItemSelect(item)"
81
+ >
82
+ <slot
83
+ name="item"
84
+ :item="item"
85
+ >{{ item[optionLabel] }}</slot
86
+ >
87
+ </div>
88
+ </VcContainer>
89
+ </div>
90
+ </teleport>
91
+ </div>
92
+ </template>
93
+ <template v-else>
94
+ <input
95
+ v-model="value"
96
+ class="vc-multivalue__field tw-grow tw-basis-0 tw-pl-3"
97
+ :placeholder="placeholder"
98
+ :type="type"
99
+ :disabled="disabled"
100
+ @keypress.enter.stop.prevent="onInput"
101
+ />
102
+ </template>
103
+ </div>
104
+
105
+ <slot
106
+ v-if="errorMessage"
107
+ name="error"
108
+ >
109
+ <VcHint class="vc-multivalue__error tw-mt-1">
110
+ {{ errorMessage }}
111
+ </VcHint>
112
+ </slot>
113
+ </div>
114
+ </template>
115
+
116
+ <script lang="ts" setup generic="T extends {id?: string; alias?: string}">
117
+ import { unref, nextTick, ref, computed } from "vue";
118
+ import { vOnClickOutside } from "@vueuse/components";
119
+ import { useFloating, UseFloatingReturn, offset, flip, shift, autoUpdate } from "@floating-ui/vue";
120
+ import { generateId } from "../../../../core/utilities";
121
+
122
+ export interface Props<T> {
123
+ placeholder?: string;
124
+ modelValue?: T[];
125
+ required?: boolean;
126
+ disabled?: boolean;
127
+ type?: "text" | "number";
128
+ label?: string;
129
+ tooltip?: string;
130
+ name?: string;
131
+ options?: T[];
132
+ optionValue?: string;
133
+ optionLabel?: string;
134
+ emitValue?: string;
135
+ emitLabel?: string;
136
+ multivalue?: boolean;
137
+ error?: boolean;
138
+ errorMessage?: string;
139
+ }
140
+
141
+ export interface Emits<T> {
142
+ (event: "update:model-value", value: T[]): void;
143
+ (event: "close"): void;
144
+ (event: "search", value: string): void;
145
+ }
146
+
147
+ type FloatingInstanceType = UseFloatingReturn & {
148
+ middlewareData: {
149
+ sameWidthChangeBorders: {
150
+ borderTop?: string;
151
+ borderBottom?: string;
152
+ borderRadius?: string;
153
+ width?: string;
154
+ };
155
+ };
156
+ };
157
+
158
+ const props = withDefaults(defineProps<Props<T>>(), {
159
+ modelValue: () => [],
160
+ type: "text",
161
+ name: "Field",
162
+ options: () => [],
163
+ optionValue: "id",
164
+ optionLabel: "title",
165
+ emitValue: "valueId",
166
+ emitLabel: "value",
167
+ });
168
+
169
+ const emit = defineEmits<Emits<T>>();
170
+
171
+ const dropdownToggleRef = ref();
172
+ const dropdownRef = ref();
173
+ const root = ref();
174
+ const searchRef = ref();
175
+ const isOpened = ref(false);
176
+ const value = ref();
177
+
178
+ const popper = useFloating(dropdownToggleRef, dropdownRef, {
179
+ placement: "bottom",
180
+ whileElementsMounted: autoUpdate,
181
+ middleware: [
182
+ flip({ fallbackPlacements: ["top", "bottom"] }),
183
+ shift({ mainAxis: false }),
184
+ sameWidthChangeBorders(),
185
+ offset(-2),
186
+ ],
187
+ }) as FloatingInstanceType;
188
+
189
+ const dropdownStyle = computed(() => {
190
+ return {
191
+ top: `${popper.y.value ?? 0}px`,
192
+ left: `${popper.x.value ?? 0}px`,
193
+ ...popper.middlewareData.value.sameWidthChangeBorders,
194
+ };
195
+ });
196
+
197
+ const slicedDictionary = computed(() => {
198
+ return props.options?.filter((x) => {
199
+ return !props.modelValue?.find((item) => item[props.emitValue] === x[props.optionValue]);
200
+ });
201
+ });
202
+
203
+ // Handle input event to propertly validate value and emit changes
204
+ function onInput(e: KeyboardEvent) {
205
+ const newValue = (e.target as HTMLInputElement).value;
206
+ emit("update:model-value", [...props.modelValue, { [props.emitLabel]: newValue } as T]);
207
+ value.value = undefined;
208
+ }
209
+
210
+ function onItemSelect(item: T) {
211
+ emit("update:model-value", [
212
+ ...props.modelValue,
213
+ { [props.emitValue]: item[props.optionValue], [props.emitLabel]: item[props.optionLabel] } as T,
214
+ ]);
215
+ emit("close");
216
+ closeDropdown();
217
+ }
218
+
219
+ // Handle event to propertly remove particular value and emit changes
220
+ function onDelete(i: number) {
221
+ const result = unref(props.modelValue);
222
+ result.splice(i, 1);
223
+ emit("update:model-value", [...result]);
224
+ }
225
+
226
+ function sameWidthChangeBorders() {
227
+ return {
228
+ name: "sameWidthChangeBorders",
229
+ fn: ({ rects, placement, x, y }) => {
230
+ let borderTop;
231
+ let borderBottom;
232
+ let borderRadius;
233
+ if (placement === "top") {
234
+ borderTop = "1px solid var(--select-border-color)";
235
+ borderBottom = "1px solid var(--select-background-color)";
236
+ borderRadius = "var(--select-border-radius) var(--select-border-radius) 0 0";
237
+ } else {
238
+ borderBottom = "1px solid var(--select-border-color)";
239
+ borderTop = "1px solid var(--select-background-color)";
240
+ borderRadius = "0 0 var(--select-border-radius) var(--select-border-radius)";
241
+ }
242
+
243
+ const width = `${rects.reference.width}px`;
244
+
245
+ return {
246
+ x,
247
+ y,
248
+ data: {
249
+ borderTop,
250
+ borderBottom,
251
+ borderRadius,
252
+ width,
253
+ },
254
+ };
255
+ },
256
+ };
257
+ }
258
+
259
+ async function toggleDropdown() {
260
+ if (!props.disabled) {
261
+ if (isOpened.value) {
262
+ closeDropdown();
263
+ } else {
264
+ isOpened.value = true;
265
+
266
+ nextTick(() => {
267
+ searchRef?.value?.focus();
268
+ });
269
+ }
270
+ }
271
+ }
272
+
273
+ function closeDropdown() {
274
+ isOpened.value = false;
275
+ emit("close");
276
+ }
277
+
278
+ function onSearch(event: InputEvent) {
279
+ emit("search", (event.target as HTMLInputElement).value);
280
+ }
281
+ </script>
282
+
283
+ <style lang="scss">
284
+ :root {
285
+ --multivalue-height: 38px;
286
+ --multivalue-border-radius: 3px;
287
+ --multivalue-border-color: #d3dbe9;
288
+ --multivalue-border-color-error: #f14e4e;
289
+ --multivalue-background-color: #ffffff;
290
+ --multivalue-placeholder-color: #a5a5a5;
291
+
292
+ --select-height: 38px;
293
+ --select-border-radius: 3px;
294
+ --select-border-color: #d3dbe9;
295
+ --select-border-color-error: #f14e4e;
296
+ --select-background-color: #ffffff;
297
+ --select-background-color-disabled: #fafafa;
298
+ --select-placeholder-color: #a5a5a5;
299
+ --select-chevron-color: #43b0e6;
300
+ --select-chevron-color-hover: #319ed4;
301
+ }
302
+
303
+ .vc-multivalue {
304
+ @apply tw-overflow-hidden;
305
+
306
+ &_date,
307
+ &_datetime-local {
308
+ @apply tw-max-w-[220px];
309
+
310
+ .vc-app_mobile & {
311
+ @apply tw-max-w-full;
312
+ }
313
+ }
314
+
315
+ &__field-wrapper {
316
+ @apply tw-border tw-border-solid
317
+ tw-border-[color:var(--multivalue-border-color)]
318
+ tw-rounded-[var(--multivalue-border-radius)]
319
+ tw-bg-[color:var(--multivalue-background-color)]
320
+ tw-items-center
321
+ tw-flex
322
+ tw-flex-wrap;
323
+ }
324
+
325
+ &__dropdown {
326
+ @apply tw-flex tw-flex-col tw-box-border
327
+ tw-max-h-[300px] tw-z-10 tw-overflow-hidden
328
+ tw-absolute tw-bg-[color:var(--select-background-color)]
329
+ tw-border tw-border-solid tw-border-[color:var(--select-border-color)]
330
+ tw-border-t-[color:var(--select-background-color)]
331
+ tw-rounded-b-[var(--select-border-radius)]
332
+ tw-p-2;
333
+ }
334
+
335
+ &__search {
336
+ @apply tw-w-full tw-box-border tw-border tw-border-solid tw-border-[#eaecf2]
337
+ tw-rounded-[4px] tw-h-8 tw-leading-[32px]
338
+ tw-outline-none tw-mb-3 tw-px-2;
339
+ }
340
+
341
+ &__item {
342
+ @apply tw-flex tw-items-center tw-min-h-[36px] tw-px-2 tw-rounded-[3px] tw-cursor-pointer hover:tw-bg-[#eff7fc];
343
+ }
344
+
345
+ &_opened &__field-wrapper {
346
+ @apply tw-rounded-t-[var(--select-border-radius)];
347
+ }
348
+
349
+ &_error &__field-wrapper {
350
+ @apply tw-border tw-border-solid tw-border-[color:var(--multivalue-border-color-error)];
351
+ }
352
+
353
+ &__error {
354
+ @apply tw-text-[color:var(--multivalue-border-color-error)];
355
+ }
356
+
357
+ &__field {
358
+ @apply tw-border-none tw-outline-none tw-h-[var(--multivalue-height)]
359
+ tw-min-w-[120px] tw-box-border placeholder:tw-text-[color:var(--multivalue-placeholder-color)];
360
+
361
+ &::-webkit-input-placeholder {
362
+ @apply tw-text-[color:var(--multivalue-placeholder-color)];
363
+ }
364
+
365
+ &::-moz-placeholder {
366
+ @apply tw-text-[color:var(--multivalue-placeholder-color)];
367
+ }
368
+
369
+ &::-ms-placeholder {
370
+ @apply tw-text-[color:var(--multivalue-placeholder-color)];
371
+ }
372
+
373
+ &-value-wrapper {
374
+ @apply tw-h-[var(--multivalue-height)] tw-ml-2 tw-flex tw-items-center;
375
+ }
376
+
377
+ &-value {
378
+ @apply tw-bg-[#fbfdfe] tw-border tw-border-solid tw-border-[color:#bdd1df] tw-rounded-[2px]
379
+ tw-flex tw-items-center tw-h-[28px] tw-box-border tw-px-2 tw-max-w-[150px];
380
+
381
+ &-clear {
382
+ @apply tw-text-[#a9bfd2] tw-ml-2 tw-cursor-pointer;
383
+ }
384
+ }
385
+
386
+ &_dictionary {
387
+ @apply tw-h-auto tw-min-w-[auto];
388
+ }
389
+ }
390
+
391
+ &_disabled &__field-wrapper,
392
+ &_disabled &__field {
393
+ @apply tw-bg-[#fafafa] tw-text-[#424242];
394
+ }
395
+ }
396
+ </style>
@@ -1,3 +1,3 @@
1
1
  import _DynamicProperty from "./vc-dynamic-property.vue";
2
2
 
3
- export const VcDynamicProperty = _DynamicProperty as typeof _DynamicProperty;
3
+ export const VcDynamicProperty = _DynamicProperty;