@lightdash/common 0.2269.5 → 0.2270.0

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 (28) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/utils/colors.d.ts +9 -0
  3. package/dist/cjs/utils/colors.d.ts.map +1 -1
  4. package/dist/cjs/utils/colors.js +56 -1
  5. package/dist/cjs/utils/colors.js.map +1 -1
  6. package/dist/cjs/visualizations/helpers/styles/referenceLineStyles.d.ts +3 -1
  7. package/dist/cjs/visualizations/helpers/styles/referenceLineStyles.d.ts.map +1 -1
  8. package/dist/cjs/visualizations/helpers/styles/referenceLineStyles.js +12 -5
  9. package/dist/cjs/visualizations/helpers/styles/referenceLineStyles.js.map +1 -1
  10. package/dist/esm/.tsbuildinfo +1 -1
  11. package/dist/esm/utils/colors.d.ts +9 -0
  12. package/dist/esm/utils/colors.d.ts.map +1 -1
  13. package/dist/esm/utils/colors.js +54 -0
  14. package/dist/esm/utils/colors.js.map +1 -1
  15. package/dist/esm/visualizations/helpers/styles/referenceLineStyles.d.ts +3 -1
  16. package/dist/esm/visualizations/helpers/styles/referenceLineStyles.d.ts.map +1 -1
  17. package/dist/esm/visualizations/helpers/styles/referenceLineStyles.js +13 -6
  18. package/dist/esm/visualizations/helpers/styles/referenceLineStyles.js.map +1 -1
  19. package/dist/types/.tsbuildinfo +1 -1
  20. package/dist/types/utils/colors.d.ts +9 -0
  21. package/dist/types/utils/colors.d.ts.map +1 -1
  22. package/dist/types/utils/colors.js +54 -0
  23. package/dist/types/utils/colors.js.map +1 -1
  24. package/dist/types/visualizations/helpers/styles/referenceLineStyles.d.ts +3 -1
  25. package/dist/types/visualizations/helpers/styles/referenceLineStyles.d.ts.map +1 -1
  26. package/dist/types/visualizations/helpers/styles/referenceLineStyles.js +13 -6
  27. package/dist/types/visualizations/helpers/styles/referenceLineStyles.js.map +1 -1
  28. package/package.json +1 -1
@@ -18,4 +18,13 @@ export declare const cleanColorArray: (colors: string[]) => string[];
18
18
  * @returns 'white' or 'black' depending on which has better contrast
19
19
  */
20
20
  export declare const getReadableTextColor: (backgroundColor: string) => string;
21
+ /**
22
+ * Adjusts a color to ensure it has sufficient contrast against a background color
23
+ * Keeps the color as close to the original as possible while meeting WCAG AA standards
24
+ * @param foregroundColor Color to adjust (hex, rgb, rgba, named colors, etc.)
25
+ * @param backgroundColor Background color to contrast against
26
+ * @param targetContrast Target contrast ratio (default: 4.5 for WCAG AA)
27
+ * @returns Adjusted color as hex string, or original if already readable
28
+ */
29
+ export declare const getReadableColor: (foregroundColor: string, backgroundColor: string, targetContrast?: number) => string;
21
30
  //# sourceMappingURL=colors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/utils/colors.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,OACR,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,WAAY,MAAM,EAAE,KAAG,MAAM,EACT,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,eAAe,WAAY,MAAM,EAAE,KAAG,MAAM,EACkB,CAAC;AAE5E;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,oBAAqB,MAAM,KAAG,MAS9D,CAAC"}
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/utils/colors.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,OACR,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,WAAY,MAAM,EAAE,KAAG,MAAM,EACT,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,eAAe,WAAY,MAAM,EAAE,KAAG,MAAM,EACkB,CAAC;AAE5E;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,oBAAqB,MAAM,KAAG,MAS9D,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,oBACR,MAAM,mBACN,MAAM,mBACP,MAAM,KACvB,MA2DF,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getReadableTextColor = exports.cleanColorArray = exports.getInvalidHexColors = exports.isHexCodeColor = void 0;
3
+ exports.getReadableColor = exports.getReadableTextColor = exports.cleanColorArray = exports.getInvalidHexColors = exports.isHexCodeColor = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const colorjs_io_1 = tslib_1.__importDefault(require("colorjs.io"));
6
6
  const IS_HEX_CODE_COLOR_REGEX = /^#([a-fA-F0-9]{3}|[a-fA-F0-9]{6}|[a-fA-F0-9]{8})$/;
@@ -38,4 +38,59 @@ const getReadableTextColor = (backgroundColor) => {
38
38
  }
39
39
  };
40
40
  exports.getReadableTextColor = getReadableTextColor;
41
+ /**
42
+ * Adjusts a color to ensure it has sufficient contrast against a background color
43
+ * Keeps the color as close to the original as possible while meeting WCAG AA standards
44
+ * @param foregroundColor Color to adjust (hex, rgb, rgba, named colors, etc.)
45
+ * @param backgroundColor Background color to contrast against
46
+ * @param targetContrast Target contrast ratio (default: 4.5 for WCAG AA)
47
+ * @returns Adjusted color as hex string, or original if already readable
48
+ */
49
+ const getReadableColor = (foregroundColor, backgroundColor, targetContrast = 4.5) => {
50
+ try {
51
+ const fg = new colorjs_io_1.default(foregroundColor);
52
+ const bg = new colorjs_io_1.default(backgroundColor);
53
+ const currentContrast = Math.abs(fg.contrast(bg, 'WCAG21'));
54
+ if (currentContrast >= targetContrast) {
55
+ return foregroundColor;
56
+ }
57
+ const fgLCH = fg.to('lch');
58
+ const originalLightness = fgLCH.l;
59
+ let bestColor = fg;
60
+ let bestDelta = Infinity;
61
+ // Try lightening
62
+ for (let lightness = originalLightness; lightness <= 100; lightness += 5) {
63
+ const testColor = fgLCH.clone();
64
+ testColor.l = lightness;
65
+ const contrast = Math.abs(testColor.contrast(bg, 'WCAG21'));
66
+ if (contrast >= targetContrast) {
67
+ const delta = Math.abs(lightness - originalLightness);
68
+ if (delta < bestDelta) {
69
+ bestColor = testColor;
70
+ bestDelta = delta;
71
+ }
72
+ break;
73
+ }
74
+ }
75
+ // Try darkening
76
+ for (let lightness = originalLightness; lightness >= 0; lightness -= 5) {
77
+ const testColor = fgLCH.clone();
78
+ testColor.l = lightness;
79
+ const contrast = Math.abs(testColor.contrast(bg, 'WCAG21'));
80
+ if (contrast >= targetContrast) {
81
+ const delta = Math.abs(lightness - originalLightness);
82
+ if (delta < bestDelta) {
83
+ bestColor = testColor;
84
+ bestDelta = delta;
85
+ }
86
+ break;
87
+ }
88
+ }
89
+ return bestColor.to('srgb').toString({ format: 'hex' });
90
+ }
91
+ catch (e) {
92
+ return foregroundColor;
93
+ }
94
+ };
95
+ exports.getReadableColor = getReadableColor;
41
96
  //# sourceMappingURL=colors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../src/utils/colors.ts"],"names":[],"mappings":";;;;AAAA,oEAA+B;AAE/B,MAAM,uBAAuB,GACzB,mDAAmD,CAAC;AAEjD,MAAM,cAAc,GAAG,CAAC,KAAa,EAAW,EAAE,CACrD,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAD3B,QAAA,cAAc,kBACa;AAExC;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CAAC,MAAgB,EAAY,EAAE,CAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC,CAAC;AADxC,QAAA,mBAAmB,uBACqB;AAErD;;;;GAIG;AACI,MAAM,eAAe,GAAG,CAAC,MAAgB,EAAY,EAAE,CAC1D,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAD/D,QAAA,eAAe,mBACgD;AAE5E;;;;;GAKG;AACI,MAAM,oBAAoB,GAAG,CAAC,eAAuB,EAAU,EAAE;IACpE,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAK,CAAC,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAK,CAAC,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;QACvE,OAAO,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACjD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,+CAA+C;QAC/C,OAAO,OAAO,CAAC;IACnB,CAAC;AACL,CAAC,CAAC;AATW,QAAA,oBAAoB,wBAS/B"}
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../src/utils/colors.ts"],"names":[],"mappings":";;;;AAAA,oEAA+B;AAE/B,MAAM,uBAAuB,GACzB,mDAAmD,CAAC;AAEjD,MAAM,cAAc,GAAG,CAAC,KAAa,EAAW,EAAE,CACrD,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAD3B,QAAA,cAAc,kBACa;AAExC;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CAAC,MAAgB,EAAY,EAAE,CAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAA,sBAAc,EAAC,KAAK,CAAC,CAAC,CAAC;AADxC,QAAA,mBAAmB,uBACqB;AAErD;;;;GAIG;AACI,MAAM,eAAe,GAAG,CAAC,MAAgB,EAAY,EAAE,CAC1D,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAD/D,QAAA,eAAe,mBACgD;AAE5E;;;;;GAKG;AACI,MAAM,oBAAoB,GAAG,CAAC,eAAuB,EAAU,EAAE;IACpE,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAK,CAAC,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAK,CAAC,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;QACvE,OAAO,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACjD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,+CAA+C;QAC/C,OAAO,OAAO,CAAC;IACnB,CAAC;AACL,CAAC,CAAC;AATW,QAAA,oBAAoB,wBAS/B;AAEF;;;;;;;GAOG;AACI,MAAM,gBAAgB,GAAG,CAC5B,eAAuB,EACvB,eAAuB,EACvB,iBAAyB,GAAG,EACtB,EAAE;IACR,IAAI,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,oBAAK,CAAC,eAAe,CAAC,CAAC;QACtC,MAAM,EAAE,GAAG,IAAI,oBAAK,CAAC,eAAe,CAAC,CAAC;QAEtC,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5D,IAAI,eAAe,IAAI,cAAc,EAAE,CAAC;YACpC,OAAO,eAAe,CAAC;QAC3B,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC;QAElC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,QAAQ,CAAC;QAEzB,iBAAiB;QACjB,KACI,IAAI,SAAS,GAAG,iBAAiB,EACjC,SAAS,IAAI,GAAG,EAChB,SAAS,IAAI,CAAC,EAChB,CAAC;YACC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAChC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;YAE5D,IAAI,QAAQ,IAAI,cAAc,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,iBAAiB,CAAC,CAAC;gBACtD,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;oBACpB,SAAS,GAAG,SAAS,CAAC;oBACtB,SAAS,GAAG,KAAK,CAAC;gBACtB,CAAC;gBACD,MAAM;YACV,CAAC;QACL,CAAC;QAED,gBAAgB;QAChB,KACI,IAAI,SAAS,GAAG,iBAAiB,EACjC,SAAS,IAAI,CAAC,EACd,SAAS,IAAI,CAAC,EAChB,CAAC;YACC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAChC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;YAE5D,IAAI,QAAQ,IAAI,cAAc,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,iBAAiB,CAAC,CAAC;gBACtD,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;oBACpB,SAAS,GAAG,SAAS,CAAC;oBACtB,SAAS,GAAG,KAAK,CAAC;gBACtB,CAAC;gBACD,MAAM;YACV,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,eAAe,CAAC;IAC3B,CAAC;AACL,CAAC,CAAC;AA/DW,QAAA,gBAAgB,oBA+D3B"}
@@ -1,7 +1,9 @@
1
1
  /**
2
2
  * Get reference line styling
3
+ * @param lineColor Optional custom color for the line
4
+ * @param backgroundColor Background color to ensure contrast against (required for color adjustment)
3
5
  */
4
- export declare const getReferenceLineStyle: (lineColor?: string) => {
6
+ export declare const getReferenceLineStyle: (lineColor?: string, backgroundColor?: string) => {
5
7
  emphasis: {
6
8
  disabled: boolean;
7
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"referenceLineStyles.d.ts","sourceRoot":"","sources":["../../../../../src/visualizations/helpers/styles/referenceLineStyles.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,qBAAqB,eAAgB,MAAM;;;;;;;;;;;;;4BAgBxB;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE;;;;;;;;;;CAkBzE,CAAC"}
1
+ {"version":3,"file":"referenceLineStyles.d.ts","sourceRoot":"","sources":["../../../../../src/visualizations/helpers/styles/referenceLineStyles.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,eAClB,MAAM,oBACA,MAAM;;;;;;;;;;;;;4BAqBI;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE;;;;;;;;;;CAkBzE,CAAC"}
@@ -1,18 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getReferenceLineStyle = void 0;
4
+ const colors_1 = require("../../../utils/colors");
4
5
  const themeColors_1 = require("./themeColors");
5
6
  /**
6
7
  * Get reference line styling
8
+ * @param lineColor Optional custom color for the line
9
+ * @param backgroundColor Background color to ensure contrast against (required for color adjustment)
7
10
  */
8
- const getReferenceLineStyle = (lineColor) => {
11
+ const getReferenceLineStyle = (lineColor, backgroundColor) => {
9
12
  const defaultLineColor = lineColor || themeColors_1.GRAY_9;
13
+ // Adjust color for visibility if background color is provided
14
+ const adjustedLineColor = backgroundColor
15
+ ? (0, colors_1.getReadableColor)(defaultLineColor, backgroundColor)
16
+ : defaultLineColor;
10
17
  return {
11
18
  emphasis: {
12
19
  disabled: true,
13
20
  },
14
21
  lineStyle: {
15
- color: defaultLineColor,
22
+ color: adjustedLineColor,
16
23
  type: [2, 3], // Dotted: 2px dash, 3px gap
17
24
  width: 2,
18
25
  },
@@ -28,10 +35,10 @@ const getReferenceLineStyle = (lineColor) => {
28
35
  ? `${text.substring(0, maxChars)}...`
29
36
  : text;
30
37
  },
31
- backgroundColor: themeColors_1.GRAY_7,
32
- color: themeColors_1.WHITE,
38
+ backgroundColor: adjustedLineColor,
39
+ color: (0, colors_1.getReadableTextColor)(adjustedLineColor),
33
40
  borderWidth: 1,
34
- borderColor: themeColors_1.GRAY_8,
41
+ borderColor: adjustedLineColor,
35
42
  padding: [2, 4],
36
43
  borderRadius: 4,
37
44
  fontSize: 11,
@@ -1 +1 @@
1
- {"version":3,"file":"referenceLineStyles.js","sourceRoot":"","sources":["../../../../../src/visualizations/helpers/styles/referenceLineStyles.ts"],"names":[],"mappings":";;;AAAA,+CAA8D;AAE9D;;GAEG;AACI,MAAM,qBAAqB,GAAG,CAAC,SAAkB,EAAE,EAAE;IACxD,MAAM,gBAAgB,GAAG,SAAS,IAAI,oBAAM,CAAC;IAE7C,OAAO;QACH,QAAQ,EAAE;YACN,QAAQ,EAAE,IAAI;SACjB;QACD,SAAS,EAAE;YACP,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAU,EAAE,4BAA4B;YACnD,KAAK,EAAE,CAAC;SACX;QACD,KAAK,EAAE;YACH,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,OAAgB,EAAE,0DAA0D;YACtF,QAAQ,EAAE,CAAC,CAAC,EAAE,gDAAgD;YAC9D,SAAS,EAAE,CAAC,MAAkD,EAAE,EAAE;gBAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBACvD,gFAAgF;gBAChF,MAAM,QAAQ,GAAG,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,MAAM,GAAG,QAAQ;oBACzB,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK;oBACrC,CAAC,CAAC,IAAI,CAAC;YACf,CAAC;YACD,eAAe,EAAE,oBAAM;YACvB,KAAK,EAAE,mBAAK;YACZ,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,oBAAM;YACnB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACf,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,GAAG;SAClB;KACJ,CAAC;AACN,CAAC,CAAC;AAlCW,QAAA,qBAAqB,yBAkChC"}
1
+ {"version":3,"file":"referenceLineStyles.js","sourceRoot":"","sources":["../../../../../src/visualizations/helpers/styles/referenceLineStyles.ts"],"names":[],"mappings":";;;AAAA,kDAA+E;AAC/E,+CAAuC;AAEvC;;;;GAIG;AACI,MAAM,qBAAqB,GAAG,CACjC,SAAkB,EAClB,eAAwB,EAC1B,EAAE;IACA,MAAM,gBAAgB,GAAG,SAAS,IAAI,oBAAM,CAAC;IAC7C,8DAA8D;IAC9D,MAAM,iBAAiB,GAAG,eAAe;QACrC,CAAC,CAAC,IAAA,yBAAgB,EAAC,gBAAgB,EAAE,eAAe,CAAC;QACrD,CAAC,CAAC,gBAAgB,CAAC;IAEvB,OAAO;QACH,QAAQ,EAAE;YACN,QAAQ,EAAE,IAAI;SACjB;QACD,SAAS,EAAE;YACP,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAU,EAAE,4BAA4B;YACnD,KAAK,EAAE,CAAC;SACX;QACD,KAAK,EAAE;YACH,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,OAAgB,EAAE,0DAA0D;YACtF,QAAQ,EAAE,CAAC,CAAC,EAAE,gDAAgD;YAC9D,SAAS,EAAE,CAAC,MAAkD,EAAE,EAAE;gBAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBACvD,gFAAgF;gBAChF,MAAM,QAAQ,GAAG,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,MAAM,GAAG,QAAQ;oBACzB,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK;oBACrC,CAAC,CAAC,IAAI,CAAC;YACf,CAAC;YACD,eAAe,EAAE,iBAAiB;YAClC,KAAK,EAAE,IAAA,6BAAoB,EAAC,iBAAiB,CAAC;YAC9C,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,iBAAiB;YAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACf,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,GAAG;SAClB;KACJ,CAAC;AACN,CAAC,CAAC;AAzCW,QAAA,qBAAqB,yBAyChC"}