@vc-shell/framework 1.0.148 → 1.0.149
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.
- package/CHANGELOG.md +17 -0
- package/core/composables/index.ts +1 -1
- package/core/composables/useLanguages/index.ts +52 -0
- package/core/plugins/i18n/index.ts +1 -1
- package/core/plugins/modularity/index.ts +10 -1
- package/core/plugins/validation/index.ts +0 -11
- package/core/plugins/validation/rules.ts +7 -6
- package/dist/core/composables/index.d.ts +1 -1
- package/dist/core/composables/index.d.ts.map +1 -1
- package/dist/core/composables/useLanguages/index.d.ts +12 -0
- package/dist/core/composables/useLanguages/index.d.ts.map +1 -0
- package/dist/core/plugins/modularity/index.d.ts.map +1 -1
- package/dist/core/plugins/validation/index.d.ts +0 -3
- package/dist/core/plugins/validation/index.d.ts.map +1 -1
- package/dist/core/plugins/validation/rules.d.ts +1 -1
- package/dist/core/plugins/validation/rules.d.ts.map +1 -1
- package/dist/framework.js +11732 -10993
- package/dist/index.css +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts +0 -12
- package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +6 -3
- package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/plugin.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/types/index.d.ts +6 -8
- package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
- package/dist/shared/components/language-selector/language-selector.vue.d.ts.map +1 -1
- package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/SchemaRender.d.ts +3 -3
- package/dist/shared/modules/dynamic/components/fields/Button.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/Card.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/InputField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts +1 -1
- package/dist/shared/modules/dynamic/components/fields/props.d.ts +1 -1
- package/dist/shared/modules/dynamic/factories/types/index.d.ts +1 -1
- package/dist/shared/modules/dynamic/factories/types/index.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/helpers/nodeBuilder.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/helpers/override.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/index.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +3 -1
- package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +2 -0
- package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/types/index.d.ts +13 -4
- package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
- package/package.json +6 -5
- package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +2 -1
- package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +12 -26
- package/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts +18 -11
- package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +231 -337
- package/shared/components/blade-navigation/plugin.ts +2 -1
- package/shared/components/blade-navigation/types/index.ts +5 -11
- package/shared/components/language-selector/language-selector.vue +12 -10
- package/shared/components/notification-dropdown/notification-dropdown.vue +1 -1
- package/shared/components/user-dropdown-button/user-dropdown-button.vue +55 -40
- package/shared/modules/dynamic/factories/types/index.ts +1 -1
- package/shared/modules/dynamic/helpers/nodeBuilder.ts +6 -3
- package/shared/modules/dynamic/helpers/override.ts +29 -11
- package/shared/modules/dynamic/index.ts +1 -0
- package/shared/modules/dynamic/pages/dynamic-blade-form.vue +47 -17
- package/shared/modules/dynamic/pages/dynamic-blade-list.vue +11 -1
- package/shared/modules/dynamic/types/index.ts +13 -4
- package/ui/components/atoms/vc-label/vc-label.vue +18 -19
- package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +1 -0
- package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +5 -19
- package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +1 -1
- package/ui/components/organisms/vc-app/vc-app.vue +2 -8
- package/core/composables/useI18n/index.ts +0 -7
- package/dist/core/composables/useI18n/index.d.ts +0 -3
- package/dist/core/composables/useI18n/index.d.ts.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
## [1.0.149](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.148...v1.0.149) (2024-01-24)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **dynamic:** fixed overrides remove order ([a3e5980](https://github.com/VirtoCommerce/vc-shell/commit/a3e59801c1d8fd963cb5f4fe4e445dab0e2d5d32))
|
|
7
|
+
* **framework:** fix ui styling issues in multiple components ([61f56d6](https://github.com/VirtoCommerce/vc-shell/commit/61f56d603b15f385c32d0270c939d539b606b37c))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* **dynamic:** updateActiveWidgetCount event ([808d31d](https://github.com/VirtoCommerce/vc-shell/commit/808d31df475e3c29386d7742fbc5f6ee7645a9bc))
|
|
13
|
+
* **framework:** updated localization setup, i18n locales config, dynamic modules localization ([209b92f](https://github.com/VirtoCommerce/vc-shell/commit/209b92fe2bf95379d908064d553ab59e16928569))
|
|
14
|
+
* **framework:** updated navigation, added routable config for blades ([7c538c6](https://github.com/VirtoCommerce/vc-shell/commit/7c538c6dfab70cc6c85dd453e516d84395e1166c))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
1
18
|
## [1.0.148](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.147...v1.0.148) (2024-01-16)
|
|
2
19
|
|
|
3
20
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from "./useFunctions";
|
|
2
|
-
export * from "./useI18n";
|
|
3
2
|
export * from "./useUser";
|
|
4
3
|
export * from "./useNotifications";
|
|
5
4
|
export * from "./useSettings";
|
|
@@ -11,3 +10,4 @@ export * from "./useErrorHandler";
|
|
|
11
10
|
export { useAssets } from "./useAssets";
|
|
12
11
|
export { useMenuService } from "./useMenuService";
|
|
13
12
|
export { useBeforeUnload } from "./useBeforeUnload";
|
|
13
|
+
export { useLanguages } from "./useLanguages";
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as veeValidate from "vee-validate";
|
|
2
|
+
import { i18n } from "../../plugins/i18n";
|
|
3
|
+
import { setLocale as setVeeI18nLocale, localize } from "@vee-validate/i18n";
|
|
4
|
+
import { createSharedComposable, useLocalStorage } from "@vueuse/core";
|
|
5
|
+
import { ComputedRef, computed } from "vue";
|
|
6
|
+
import ISO6391 from "iso-639-1";
|
|
7
|
+
|
|
8
|
+
export interface IUseLanguages {
|
|
9
|
+
setLocale: (locale: string) => void;
|
|
10
|
+
currentLocale: ComputedRef<string>;
|
|
11
|
+
getLocaleByTag: (localeTag: string) => string | undefined;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const useLanguages = createSharedComposable(() => {
|
|
15
|
+
const defaultLanguage = i18n.global.locale.value;
|
|
16
|
+
const savedLocale = useLocalStorage("VC_LANGUAGE_SETTINGS", "");
|
|
17
|
+
|
|
18
|
+
const currentLocale = computed(() => {
|
|
19
|
+
let locale = defaultLanguage;
|
|
20
|
+
|
|
21
|
+
if (i18n.global.availableLocales.includes(savedLocale.value)) {
|
|
22
|
+
locale = savedLocale.value;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return locale;
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
function setLocale(locale: string) {
|
|
29
|
+
i18n.global.locale.value = locale;
|
|
30
|
+
veeValidate.configure({
|
|
31
|
+
generateMessage: localize(locale, {
|
|
32
|
+
messages: (i18n.global.getLocaleMessage(locale) as { messages: Record<string, string> }).messages,
|
|
33
|
+
}),
|
|
34
|
+
});
|
|
35
|
+
setVeeI18nLocale(locale);
|
|
36
|
+
savedLocale.value = locale;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function getLocaleByTag(localeTag: string) {
|
|
40
|
+
if (!localeTag) return;
|
|
41
|
+
|
|
42
|
+
const twoLetterLanguageName = localeTag.split("-")[0];
|
|
43
|
+
|
|
44
|
+
return ISO6391.getNativeName(twoLetterLanguageName);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return {
|
|
48
|
+
setLocale,
|
|
49
|
+
currentLocale,
|
|
50
|
+
getLocaleByTag,
|
|
51
|
+
};
|
|
52
|
+
});
|
|
@@ -38,6 +38,13 @@ export const createAppModule = (
|
|
|
38
38
|
|
|
39
39
|
// Register pages
|
|
40
40
|
Object.values(pages).forEach((page) => {
|
|
41
|
+
if (!("routable" in page)) {
|
|
42
|
+
page.routable = true;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// all components registered through this plugin are blades
|
|
46
|
+
page.isBlade = true;
|
|
47
|
+
|
|
41
48
|
if (!page.url) {
|
|
42
49
|
app.config.globalProperties.pages?.push(page);
|
|
43
50
|
|
|
@@ -62,7 +69,9 @@ export const createAppModule = (
|
|
|
62
69
|
|
|
63
70
|
const BladeInstanceConstructor = Object.assign({}, page, { name: routeName });
|
|
64
71
|
|
|
65
|
-
const bladeVNode = h(BladeInstanceConstructor
|
|
72
|
+
const bladeVNode = h(BladeInstanceConstructor, {
|
|
73
|
+
navigation: {},
|
|
74
|
+
});
|
|
66
75
|
|
|
67
76
|
if (routerInstance && mainRouteName) {
|
|
68
77
|
routerInstance.addRoute(mainRouteName, {
|
|
@@ -1,12 +1 @@
|
|
|
1
|
-
import { localize } from "@vee-validate/i18n";
|
|
2
|
-
import en from "@vee-validate/i18n/dist/locale/en.json";
|
|
3
|
-
import * as veeValidate from "vee-validate";
|
|
4
|
-
|
|
5
|
-
veeValidate.configure({
|
|
6
|
-
generateMessage: localize({ en }),
|
|
7
|
-
});
|
|
8
|
-
|
|
9
|
-
/** @deprecated Use `useForm` directly from `vee-validate` */
|
|
10
|
-
export const useForm = veeValidate.useForm;
|
|
11
|
-
|
|
12
1
|
export * from "./rules";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { i18n } from "..";
|
|
1
2
|
import { defineRule } from "vee-validate";
|
|
2
3
|
import * as AllRules from "@vee-validate/rules";
|
|
3
4
|
|
|
@@ -25,7 +26,7 @@ export const mindimensions = (images: HTMLInputElement, [width, height]: [string
|
|
|
25
26
|
if (isValid) {
|
|
26
27
|
resolve(true);
|
|
27
28
|
} else {
|
|
28
|
-
resolve(
|
|
29
|
+
resolve(i18n.global.t("messages.min_dimensions.error", { width, height }));
|
|
29
30
|
}
|
|
30
31
|
};
|
|
31
32
|
|
|
@@ -36,7 +37,7 @@ export const mindimensions = (images: HTMLInputElement, [width, height]: [string
|
|
|
36
37
|
const fileList = images.files;
|
|
37
38
|
for (let i = 0; i < fileList.length; i++) {
|
|
38
39
|
if (!/\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(fileList[i].name)) {
|
|
39
|
-
return Promise.resolve("
|
|
40
|
+
return Promise.resolve(i18n.global.t("messages.min_dimensions.not_image_error"));
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
list.push(fileList[i]);
|
|
@@ -76,7 +77,7 @@ export const fileWeight = (file: HTMLInputElement, [size]: [number]) => {
|
|
|
76
77
|
|
|
77
78
|
const isInvalid = checker.find((x) => x === true);
|
|
78
79
|
if (isInvalid) {
|
|
79
|
-
return
|
|
80
|
+
return i18n.global.t("messages.file_weight", { size });
|
|
80
81
|
} else {
|
|
81
82
|
return true;
|
|
82
83
|
}
|
|
@@ -124,12 +125,12 @@ const compare = (
|
|
|
124
125
|
|
|
125
126
|
// before
|
|
126
127
|
export const before = (value: string, [target]: string[]) =>
|
|
127
|
-
compare(value, [target], (first, second) => first < second, "
|
|
128
|
+
compare(value, [target], (first, second) => first < second, i18n.global.t("messages.before"));
|
|
128
129
|
defineRule("before", before);
|
|
129
130
|
|
|
130
131
|
// after
|
|
131
132
|
export const after = (value: string, [target]: string[]) =>
|
|
132
|
-
compare(value, [target], (first, second) => first > second, "
|
|
133
|
+
compare(value, [target], (first, second) => first > second, i18n.global.t("messages.after"));
|
|
133
134
|
|
|
134
135
|
defineRule("after", after);
|
|
135
136
|
|
|
@@ -137,7 +138,7 @@ export const bigInt = (value: string) => {
|
|
|
137
138
|
if (Number.isSafeInteger(parseInt(value))) {
|
|
138
139
|
return true;
|
|
139
140
|
} else {
|
|
140
|
-
return "
|
|
141
|
+
return i18n.global.t("messages.bigint");
|
|
141
142
|
}
|
|
142
143
|
};
|
|
143
144
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from "./useFunctions";
|
|
2
|
-
export * from "./useI18n";
|
|
3
2
|
export * from "./useUser";
|
|
4
3
|
export * from "./useNotifications";
|
|
5
4
|
export * from "./useSettings";
|
|
@@ -11,4 +10,5 @@ export * from "./useErrorHandler";
|
|
|
11
10
|
export { useAssets } from "./useAssets";
|
|
12
11
|
export { useMenuService } from "./useMenuService";
|
|
13
12
|
export { useBeforeUnload } from "./useBeforeUnload";
|
|
13
|
+
export { useLanguages } from "./useLanguages";
|
|
14
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/composables/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/composables/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ComputedRef } from "vue";
|
|
2
|
+
export interface IUseLanguages {
|
|
3
|
+
setLocale: (locale: string) => void;
|
|
4
|
+
currentLocale: ComputedRef<string>;
|
|
5
|
+
getLocaleByTag: (localeTag: string) => string | undefined;
|
|
6
|
+
}
|
|
7
|
+
export declare const useLanguages: () => {
|
|
8
|
+
setLocale: (locale: string) => void;
|
|
9
|
+
currentLocale: ComputedRef<string>;
|
|
10
|
+
getLocaleByTag: (localeTag: string) => string | undefined;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useLanguages/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAY,MAAM,KAAK,CAAC;AAG5C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC3D;AAED,eAAO,MAAM,YAAY;wBAcI,MAAM;;gCAWE,MAAM;CAazC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/plugins/modularity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAK,MAAM,KAAK,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAI/F,eAAO,MAAM,YAAY;;aAAuE,OAAO;iBACxF,GAAG,GAAG,IAAI;CAavB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;iBAOX,GAAG,YAAY;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/plugins/modularity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAK,MAAM,KAAK,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAI/F,eAAO,MAAM,YAAY;;aAAuE,OAAO;iBACxF,GAAG,GAAG,IAAI;CAavB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;iBAOX,GAAG,YAAY;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAqGxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/plugins/validation/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/plugins/validation/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
@@ -8,5 +8,5 @@ export declare const mindimensions: (images: HTMLInputElement, [width, height]:
|
|
|
8
8
|
export declare const fileWeight: (file: HTMLInputElement, [size]: [number]) => string | true;
|
|
9
9
|
export declare const before: (value: string, [target]: string[]) => string | boolean;
|
|
10
10
|
export declare const after: (value: string, [target]: string[]) => string | boolean;
|
|
11
|
-
export declare const bigInt: (value: string) =>
|
|
11
|
+
export declare const bigInt: (value: string) => string | true;
|
|
12
12
|
//# sourceMappingURL=rules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../../core/plugins/validation/rules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../../core/plugins/validation/rules.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,eAAO,MAAM,aAAa,WAAY,gBAAgB,mBAAmB,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,qCAwC1G,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,UAAU,SAAU,gBAAgB,UAAU,CAAC,MAAM,CAAC,kBAwBlE,CAAC;AA2CF,eAAO,MAAM,MAAM,UAAW,MAAM,YAAY,MAAM,EAAE,qBACuC,CAAC;AAIhG,eAAO,MAAM,KAAK,UAAW,MAAM,YAAY,MAAM,EAAE,qBACuC,CAAC;AAI/F,eAAO,MAAM,MAAM,UAAW,MAAM,kBAMnC,CAAC"}
|