@vc-shell/framework 1.0.147 → 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.
Files changed (88) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/core/composables/index.ts +1 -1
  3. package/core/composables/useLanguages/index.ts +52 -0
  4. package/core/plugins/i18n/index.ts +1 -1
  5. package/core/plugins/modularity/index.ts +10 -1
  6. package/core/plugins/validation/index.ts +0 -11
  7. package/core/plugins/validation/rules.ts +7 -6
  8. package/dist/core/composables/index.d.ts +1 -1
  9. package/dist/core/composables/index.d.ts.map +1 -1
  10. package/dist/core/composables/useLanguages/index.d.ts +12 -0
  11. package/dist/core/composables/useLanguages/index.d.ts.map +1 -0
  12. package/dist/core/plugins/modularity/index.d.ts.map +1 -1
  13. package/dist/core/plugins/validation/index.d.ts +0 -3
  14. package/dist/core/plugins/validation/index.d.ts.map +1 -1
  15. package/dist/core/plugins/validation/rules.d.ts +1 -1
  16. package/dist/core/plugins/validation/rules.d.ts.map +1 -1
  17. package/dist/framework.js +11732 -10993
  18. package/dist/index.css +1 -1
  19. package/dist/index.d.ts +5 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -1
  22. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
  23. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts +0 -12
  24. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts.map +1 -1
  25. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +6 -3
  26. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  27. package/dist/shared/components/blade-navigation/plugin.d.ts.map +1 -1
  28. package/dist/shared/components/blade-navigation/types/index.d.ts +6 -8
  29. package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
  30. package/dist/shared/components/language-selector/language-selector.vue.d.ts.map +1 -1
  31. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -1
  32. package/dist/shared/modules/dynamic/components/SchemaRender.d.ts +3 -3
  33. package/dist/shared/modules/dynamic/components/fields/Button.d.ts +1 -1
  34. package/dist/shared/modules/dynamic/components/fields/Card.d.ts +1 -1
  35. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts +1 -1
  36. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts +1 -1
  37. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts +1 -1
  38. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts +1 -1
  39. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts +1 -1
  40. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts +1 -1
  41. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts +1 -1
  42. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts +1 -1
  43. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts +1 -1
  44. package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts +1 -1
  45. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts +1 -1
  46. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts +1 -1
  47. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts +1 -1
  48. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts +1 -1
  49. package/dist/shared/modules/dynamic/components/fields/props.d.ts +1 -1
  50. package/dist/shared/modules/dynamic/factories/types/index.d.ts +1 -1
  51. package/dist/shared/modules/dynamic/factories/types/index.d.ts.map +1 -1
  52. package/dist/shared/modules/dynamic/helpers/nodeBuilder.d.ts.map +1 -1
  53. package/dist/shared/modules/dynamic/helpers/override.d.ts.map +1 -1
  54. package/dist/shared/modules/dynamic/index.d.ts.map +1 -1
  55. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +3 -1
  56. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
  57. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +2 -0
  58. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
  59. package/dist/shared/modules/dynamic/types/index.d.ts +13 -4
  60. package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
  61. package/dist/tsconfig.tsbuildinfo +1 -1
  62. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
  63. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  64. package/package.json +6 -5
  65. package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +2 -1
  66. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +12 -26
  67. package/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts +18 -11
  68. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +231 -337
  69. package/shared/components/blade-navigation/plugin.ts +2 -1
  70. package/shared/components/blade-navigation/types/index.ts +5 -11
  71. package/shared/components/language-selector/language-selector.vue +12 -10
  72. package/shared/components/notification-dropdown/notification-dropdown.vue +1 -1
  73. package/shared/components/user-dropdown-button/user-dropdown-button.vue +55 -40
  74. package/shared/modules/dynamic/factories/types/index.ts +1 -1
  75. package/shared/modules/dynamic/helpers/nodeBuilder.ts +6 -3
  76. package/shared/modules/dynamic/helpers/override.ts +29 -11
  77. package/shared/modules/dynamic/index.ts +1 -0
  78. package/shared/modules/dynamic/pages/dynamic-blade-form.vue +47 -17
  79. package/shared/modules/dynamic/pages/dynamic-blade-list.vue +11 -1
  80. package/shared/modules/dynamic/types/index.ts +13 -4
  81. package/ui/components/atoms/vc-label/vc-label.vue +18 -19
  82. package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +1 -0
  83. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +5 -19
  84. package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +1 -1
  85. package/ui/components/organisms/vc-app/vc-app.vue +2 -8
  86. package/core/composables/useI18n/index.ts +0 -7
  87. package/dist/core/composables/useI18n/index.d.ts +0 -3
  88. package/dist/core/composables/useI18n/index.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
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
+
18
+ ## [1.0.148](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.147...v1.0.148) (2024-01-16)
19
+
20
+
21
+
1
22
  ## [1.0.147](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.146...v1.0.147) (2024-01-12)
2
23
 
3
24
 
@@ -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
+ });
@@ -3,7 +3,7 @@ import { createI18n } from "vue-i18n";
3
3
  const i18n = createI18n({
4
4
  legacy: false,
5
5
  globalInjection: true,
6
- locale: navigator.language.split("-")[0],
6
+ locale: "en",
7
7
  fallbackLocale: "en",
8
8
  formatFallbackMessages: true,
9
9
  });
@@ -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(`Image dimensions must be greater than ${height}*${width}`);
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("Not image file");
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 `File size must be maximum ${size} kb`;
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, "End date must be earlier than start date");
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, "End date must be later than start date");
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 "Unsupported number";
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,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"}
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;CA4FxD,CAAC"}
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,5 +1,2 @@
1
- import * as veeValidate from "vee-validate";
2
- /** @deprecated Use `useForm` directly from `vee-validate` */
3
- export declare const useForm: typeof veeValidate.useForm;
4
1
  export * from "./rules";
5
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/plugins/validation/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAM5C,6DAA6D;AAC7D,eAAO,MAAM,OAAO,4BAAsB,CAAC;AAE3C,cAAc,SAAS,CAAC"}
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) => true | "Unsupported number";
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":"AAQA;;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,qBACiD,CAAC;AAI1G,eAAO,MAAM,KAAK,UAAW,MAAM,YAAY,MAAM,EAAE,qBACgD,CAAC;AAIxG,eAAO,MAAM,MAAM,UAAW,MAAM,gCAMnC,CAAC"}
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"}