@selfdecode/sd-component-library 4.0.139 → 4.0.140

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 (192) hide show
  1. package/lib/sd-component-library102.js +2 -2
  2. package/lib/sd-component-library104.js +4 -4
  3. package/lib/sd-component-library106.js +4 -4
  4. package/lib/sd-component-library111.js +1 -1
  5. package/lib/sd-component-library112.js +1 -1
  6. package/lib/sd-component-library117.js +1 -1
  7. package/lib/sd-component-library118.js +2 -2
  8. package/lib/sd-component-library120.js +1 -1
  9. package/lib/sd-component-library121.js +1 -1
  10. package/lib/sd-component-library126.js +2 -2
  11. package/lib/sd-component-library127.js +2 -2
  12. package/lib/sd-component-library129.js +1 -1
  13. package/lib/sd-component-library130.js +15 -14
  14. package/lib/sd-component-library130.js.map +1 -1
  15. package/lib/sd-component-library133.js +3 -3
  16. package/lib/sd-component-library134.js +1 -1
  17. package/lib/sd-component-library136.js +2 -2
  18. package/lib/sd-component-library16.js +1 -1
  19. package/lib/sd-component-library167.js +1 -1
  20. package/lib/sd-component-library168.js +1 -1
  21. package/lib/sd-component-library171.js +1 -1
  22. package/lib/sd-component-library172.js +4 -4
  23. package/lib/sd-component-library197.js +3 -3
  24. package/lib/sd-component-library200.js +60 -2
  25. package/lib/sd-component-library200.js.map +1 -1
  26. package/lib/sd-component-library201.js +2 -30
  27. package/lib/sd-component-library201.js.map +1 -1
  28. package/lib/sd-component-library202.js +21 -590
  29. package/lib/sd-component-library202.js.map +1 -1
  30. package/lib/sd-component-library203.js +599 -3
  31. package/lib/sd-component-library203.js.map +1 -1
  32. package/lib/sd-component-library205.js +3 -60
  33. package/lib/sd-component-library205.js.map +1 -1
  34. package/lib/sd-component-library212.js +56 -39
  35. package/lib/sd-component-library212.js.map +1 -1
  36. package/lib/sd-component-library213.js +38 -127
  37. package/lib/sd-component-library213.js.map +1 -1
  38. package/lib/sd-component-library214.js +129 -13
  39. package/lib/sd-component-library214.js.map +1 -1
  40. package/lib/sd-component-library215.js +13 -3
  41. package/lib/sd-component-library215.js.map +1 -1
  42. package/lib/sd-component-library216.js +3 -52
  43. package/lib/sd-component-library216.js.map +1 -1
  44. package/lib/sd-component-library217.js +41 -54
  45. package/lib/sd-component-library217.js.map +1 -1
  46. package/lib/sd-component-library218.js +14 -3
  47. package/lib/sd-component-library218.js.map +1 -1
  48. package/lib/sd-component-library219.js +3 -46
  49. package/lib/sd-component-library219.js.map +1 -1
  50. package/lib/sd-component-library220.js +3 -14
  51. package/lib/sd-component-library220.js.map +1 -1
  52. package/lib/sd-component-library221.js +46 -3
  53. package/lib/sd-component-library221.js.map +1 -1
  54. package/lib/sd-component-library222.js +65 -3
  55. package/lib/sd-component-library222.js.map +1 -1
  56. package/lib/sd-component-library223.js +3 -17
  57. package/lib/sd-component-library223.js.map +1 -1
  58. package/lib/sd-component-library224.js +17 -26
  59. package/lib/sd-component-library224.js.map +1 -1
  60. package/lib/sd-component-library227.js +3 -3
  61. package/lib/sd-component-library229.js +1 -1
  62. package/lib/sd-component-library230.js +1 -1
  63. package/lib/sd-component-library232.js +1 -1
  64. package/lib/sd-component-library234.js +1 -1
  65. package/lib/sd-component-library235.js +1 -1
  66. package/lib/sd-component-library236.js +64 -21
  67. package/lib/sd-component-library236.js.map +1 -1
  68. package/lib/sd-component-library237.js +41 -107
  69. package/lib/sd-component-library237.js.map +1 -1
  70. package/lib/sd-component-library238.js +12 -46
  71. package/lib/sd-component-library238.js.map +1 -1
  72. package/lib/sd-component-library239.js +46 -22
  73. package/lib/sd-component-library239.js.map +1 -1
  74. package/lib/sd-component-library240.js +73 -51
  75. package/lib/sd-component-library240.js.map +1 -1
  76. package/lib/sd-component-library241.js +34 -57
  77. package/lib/sd-component-library241.js.map +1 -1
  78. package/lib/sd-component-library242.js +27 -43
  79. package/lib/sd-component-library242.js.map +1 -1
  80. package/lib/sd-component-library243.js +21 -13
  81. package/lib/sd-component-library243.js.map +1 -1
  82. package/lib/sd-component-library244.js +107 -46
  83. package/lib/sd-component-library244.js.map +1 -1
  84. package/lib/sd-component-library245.js +43 -71
  85. package/lib/sd-component-library245.js.map +1 -1
  86. package/lib/sd-component-library246.js +23 -40
  87. package/lib/sd-component-library246.js.map +1 -1
  88. package/lib/sd-component-library247.js +50 -24
  89. package/lib/sd-component-library247.js.map +1 -1
  90. package/lib/sd-component-library251.js +323 -55
  91. package/lib/sd-component-library251.js.map +1 -1
  92. package/lib/sd-component-library252.js +5 -25
  93. package/lib/sd-component-library252.js.map +1 -1
  94. package/lib/sd-component-library253.js +26 -3
  95. package/lib/sd-component-library253.js.map +1 -1
  96. package/lib/sd-component-library254.js +29 -22
  97. package/lib/sd-component-library254.js.map +1 -1
  98. package/lib/sd-component-library255.js +1 -1
  99. package/lib/sd-component-library255.js.map +1 -1
  100. package/lib/sd-component-library256.js +22 -323
  101. package/lib/sd-component-library256.js.map +1 -1
  102. package/lib/sd-component-library257.js +3 -5
  103. package/lib/sd-component-library257.js.map +1 -1
  104. package/lib/sd-component-library258.js +130 -25
  105. package/lib/sd-component-library258.js.map +1 -1
  106. package/lib/sd-component-library259.js +30 -24
  107. package/lib/sd-component-library259.js.map +1 -1
  108. package/lib/sd-component-library260.js +51 -30
  109. package/lib/sd-component-library260.js.map +1 -1
  110. package/lib/sd-component-library261.js +62 -39
  111. package/lib/sd-component-library261.js.map +1 -1
  112. package/lib/sd-component-library262.js +62 -120
  113. package/lib/sd-component-library262.js.map +1 -1
  114. package/lib/sd-component-library263.js +9 -74
  115. package/lib/sd-component-library263.js.map +1 -1
  116. package/lib/sd-component-library264.js +47 -72
  117. package/lib/sd-component-library264.js.map +1 -1
  118. package/lib/sd-component-library265.js +85 -25
  119. package/lib/sd-component-library265.js.map +1 -1
  120. package/lib/sd-component-library266.js +90 -19
  121. package/lib/sd-component-library266.js.map +1 -1
  122. package/lib/sd-component-library267.js +25 -120
  123. package/lib/sd-component-library267.js.map +1 -1
  124. package/lib/sd-component-library268.js +16 -117
  125. package/lib/sd-component-library268.js.map +1 -1
  126. package/lib/sd-component-library269.js +125 -10
  127. package/lib/sd-component-library269.js.map +1 -1
  128. package/lib/sd-component-library270.js +9 -49
  129. package/lib/sd-component-library270.js.map +1 -1
  130. package/lib/sd-component-library271.js +50 -2
  131. package/lib/sd-component-library271.js.map +1 -1
  132. package/lib/sd-component-library272.js +122 -2
  133. package/lib/sd-component-library272.js.map +1 -1
  134. package/lib/sd-component-library273.js +2 -9
  135. package/lib/sd-component-library273.js.map +1 -1
  136. package/lib/sd-component-library274.js +2 -51
  137. package/lib/sd-component-library274.js.map +1 -1
  138. package/lib/sd-component-library275.js +24 -89
  139. package/lib/sd-component-library275.js.map +1 -1
  140. package/lib/sd-component-library276.js +20 -90
  141. package/lib/sd-component-library276.js.map +1 -1
  142. package/lib/sd-component-library279.js +10 -70
  143. package/lib/sd-component-library279.js.map +1 -1
  144. package/lib/sd-component-library280.js +69 -101
  145. package/lib/sd-component-library280.js.map +1 -1
  146. package/lib/sd-component-library281.js +91 -95
  147. package/lib/sd-component-library281.js.map +1 -1
  148. package/lib/sd-component-library282.js +106 -10
  149. package/lib/sd-component-library282.js.map +1 -1
  150. package/lib/sd-component-library286.js +4 -4
  151. package/lib/sd-component-library287.js +3 -2
  152. package/lib/sd-component-library287.js.map +1 -1
  153. package/lib/sd-component-library288.js +3 -8
  154. package/lib/sd-component-library288.js.map +1 -1
  155. package/lib/sd-component-library289.js +3 -328
  156. package/lib/sd-component-library289.js.map +1 -1
  157. package/lib/sd-component-library290.js +2 -51
  158. package/lib/sd-component-library290.js.map +1 -1
  159. package/lib/sd-component-library291.js +8 -3
  160. package/lib/sd-component-library291.js.map +1 -1
  161. package/lib/sd-component-library292.js +328 -3
  162. package/lib/sd-component-library292.js.map +1 -1
  163. package/lib/sd-component-library293.js +51 -3
  164. package/lib/sd-component-library293.js.map +1 -1
  165. package/lib/sd-component-library311.js +89 -47
  166. package/lib/sd-component-library311.js.map +1 -1
  167. package/lib/sd-component-library312.js +50 -34
  168. package/lib/sd-component-library312.js.map +1 -1
  169. package/lib/sd-component-library313.js +33 -91
  170. package/lib/sd-component-library313.js.map +1 -1
  171. package/lib/sd-component-library318.js +1 -1
  172. package/lib/sd-component-library6.js +1 -1
  173. package/lib/sd-component-library60.js +1 -1
  174. package/lib/sd-component-library62.js +3 -3
  175. package/lib/sd-component-library63.js +1 -1
  176. package/lib/sd-component-library64.js +2 -2
  177. package/lib/sd-component-library65.js +1 -1
  178. package/lib/sd-component-library7.js +1 -1
  179. package/lib/sd-component-library70.js +2 -2
  180. package/lib/sd-component-library72.js +3 -3
  181. package/lib/sd-component-library74.js +2 -2
  182. package/lib/sd-component-library75.js +3 -3
  183. package/lib/sd-component-library76.js +1 -1
  184. package/lib/sd-component-library77.js +1 -1
  185. package/lib/sd-component-library79.js +1 -1
  186. package/lib/sd-component-library80.js +1 -1
  187. package/lib/sd-component-library85.js +1 -1
  188. package/lib/sd-component-library92.js +3 -3
  189. package/lib/sd-component-library94.js +5 -5
  190. package/lib/sd-component-library98.js +2 -2
  191. package/lib/sd-component-library99.js +3 -3
  192. package/package.json +1 -1
@@ -1,51 +1,112 @@
1
- import { getCoordinateForArc as s } from "./sd-component-library91.js";
2
- const v = (r) => {
3
- const a = `Received ${r.map(
4
- ({ start: e, end: t }) => `(${e},${t})`
5
- )}`, n = (e) => console.error(e, a);
6
- if (r.some(
7
- ({ start: e, end: t }) => [e, t].some((o) => o < 0 || o > 1)
8
- ))
9
- return n("Segment values should be between 0 and 1"), !1;
10
- if (r.reduce(
11
- (e, { start: t }) => e + (t === 0 ? 1 : 0),
12
- 0
13
- ) !== 1)
14
- return n("One segment should start from 0"), !1;
15
- if (r.reduce((e, { end: t }) => e + (t === 1 ? 1 : 0), 0) !== 1)
16
- return n("One segment should end by 1"), !1;
17
- if (r.some(({ start: e, end: t }) => e >= t))
18
- return n("Segment start should be smaller than end"), !1;
19
- for (let e = 1; e < r.length; e++) {
20
- const t = r[e];
21
- if (r[e - 1].end !== t.start)
22
- return n("Previous segment end should be equal to next segment start"), !1;
23
- }
24
- return !0;
25
- }, x = ({ start: r, end: a }, n, e) => {
26
- const t = n - e, o = Math.round(r * 360), c = Math.round(a * 360), d = c - o, { x: l, y: u } = s(n, o), { x: f, y: m } = s(
27
- t,
28
- o,
29
- n
30
- ), { x: h, y: i } = s(n, c), { x: g, y: S } = s(
31
- t,
32
- c,
33
- n
1
+ import { j as t } from "./sd-component-library197.js";
2
+ import { getCoordinateForArc as A, getInnerX as H, getInnerY as M, degToRad as E } from "./sd-component-library91.js";
3
+ import { getFractionColor as O } from "./sd-component-library243.js";
4
+ import { BaseOutlineArc as X } from "./sd-component-library314.js";
5
+ const w = "#CCD0DB", q = (G) => {
6
+ const {
7
+ diameter: I,
8
+ idx: d,
9
+ endColor: Y,
10
+ startColor: f,
11
+ segmented: v,
12
+ totalRanges: n,
13
+ value: i,
14
+ arc: l,
15
+ innerPointRadius: W,
16
+ pointStrokeWidth: C,
17
+ gaugeWidth: e,
18
+ pointColor: $
19
+ } = G, c = d / n, x = (d + 1) / n, k = i >= c && i <= x, R = (360 - l) / 2, r = I / 2, g = R + l * c, j = R + l * x, { x: u, y: h } = A(
20
+ r,
21
+ g
22
+ ), { x: m, y } = A(
23
+ r,
24
+ j
34
25
  );
35
- return {
36
- startX: l,
37
- startY: u,
38
- endX: h,
39
- endY: i,
40
- startInnerX: f,
41
- startInnerY: m,
42
- endInnerX: g,
43
- endInnerY: S,
44
- arc: d
45
- };
26
+ if (v || !k)
27
+ return /* @__PURE__ */ t.jsx(
28
+ X,
29
+ {
30
+ startX: u,
31
+ startY: h,
32
+ endX: m,
33
+ endY: y,
34
+ startAlpha: g,
35
+ endAlpha: j,
36
+ color: v || i > x ? `url(#gradient-${f}-${Y})` : w,
37
+ radius: r,
38
+ width: e
39
+ }
40
+ );
41
+ const o = g + (i - c) / (x - c) * l / n, { x: a, y: s } = A(r, o), F = H(a, E(o), e), B = M(s, E(o), e), D = d >= n / 2, S = d + 1 === n / 2 + 0.5, z = S ? (a - u) / (m - u) : (s - h) / (y - h), p = O(z, f, Y);
42
+ return /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
43
+ /* @__PURE__ */ t.jsx("defs", { children: /* @__PURE__ */ t.jsxs(
44
+ "linearGradient",
45
+ {
46
+ id: `value-gradient-${p}`,
47
+ ...D ? {
48
+ x1: 0,
49
+ y1: 0,
50
+ x2: 0,
51
+ y2: 1
52
+ } : S ? { x1: 0, y1: 0, x2: 1, y2: 0 } : {
53
+ x1: 0,
54
+ y1: 1,
55
+ x2: 0,
56
+ y2: 0
57
+ },
58
+ children: [
59
+ /* @__PURE__ */ t.jsx("stop", { stopColor: f, offset: "0%" }),
60
+ /* @__PURE__ */ t.jsx("stop", { stopColor: p, offset: "100%" })
61
+ ]
62
+ }
63
+ ) }),
64
+ /* @__PURE__ */ t.jsxs("g", { children: [
65
+ /* @__PURE__ */ t.jsx(
66
+ X,
67
+ {
68
+ startX: u,
69
+ startY: h,
70
+ endX: a,
71
+ endY: s,
72
+ startAlpha: g,
73
+ endAlpha: o,
74
+ color: `url(#value-gradient-${p})`,
75
+ radius: r,
76
+ width: e,
77
+ roundEnd: !1
78
+ }
79
+ ),
80
+ /* @__PURE__ */ t.jsx(
81
+ X,
82
+ {
83
+ startX: a,
84
+ startY: s,
85
+ endX: m,
86
+ endY: y,
87
+ startAlpha: o,
88
+ endAlpha: j,
89
+ color: w,
90
+ radius: r,
91
+ width: e,
92
+ roundStart: !1
93
+ }
94
+ ),
95
+ /* @__PURE__ */ t.jsx(
96
+ "circle",
97
+ {
98
+ cx: (a + F) / 2,
99
+ cy: (s + B) / 2,
100
+ r: C + W,
101
+ strokeWidth: C,
102
+ stroke: $ || p,
103
+ fill: "white"
104
+ }
105
+ )
106
+ ] })
107
+ ] });
46
108
  };
47
109
  export {
48
- v as areSegmentsValid,
49
- x as getSegmentCoordinates
110
+ q as GradientMeterRange
50
111
  };
51
112
  //# sourceMappingURL=sd-component-library244.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library244.js","sources":["../src/components/meters/donut-diagram/utils.ts"],"sourcesContent":["import { getCoordinateForArc } from \"../outline-meter/utils\";\nimport { DonutSegment } from \"./interfaces\";\n\nexport const areSegmentsValid = (\n segments: Pick<DonutSegment, \"start\" | \"end\">[]\n): boolean => {\n const receivedSegments = `Received ${segments.map(\n ({ start, end }) => `(${start},${end})`\n )}`;\n const showError = (text: string) => console.error(text, receivedSegments);\n\n if (\n segments.some(({ start, end }) =>\n [start, end].some((point) => point < 0 || point > 1)\n )\n ) {\n showError(\"Segment values should be between 0 and 1\");\n return false;\n }\n\n if (\n segments.reduce<number>(\n (acc, { start }) => acc + (start === 0 ? 1 : 0),\n 0\n ) !== 1\n ) {\n showError(\"One segment should start from 0\");\n return false;\n }\n\n if (\n segments.reduce<number>((acc, { end }) => acc + (end === 1 ? 1 : 0), 0) !==\n 1\n ) {\n showError(\"One segment should end by 1\");\n return false;\n }\n\n if (segments.some(({ start, end }) => start >= end)) {\n showError(\"Segment start should be smaller than end\");\n return false;\n }\n\n for (let i = 1; i < segments.length; i++) {\n const currentSegment = segments[i];\n const prevSegment = segments[i - 1];\n if (prevSegment.end !== currentSegment.start) {\n showError(\"Previous segment end should be equal to next segment start\");\n return false;\n }\n }\n\n return true;\n};\n\nexport const getSegmentCoordinates = (\n { start, end }: Pick<DonutSegment, \"start\" | \"end\">,\n radius: number,\n segmentWidth: number\n) => {\n const innerRadius = radius - segmentWidth;\n\n const startAlpha = Math.round(start * 360);\n const endAlpha = Math.round(end * 360);\n const arc = endAlpha - startAlpha;\n\n const { x: startX, y: startY } = getCoordinateForArc(radius, startAlpha);\n const { x: startInnerX, y: startInnerY } = getCoordinateForArc(\n innerRadius,\n startAlpha,\n radius\n );\n\n const { x: endX, y: endY } = getCoordinateForArc(radius, endAlpha);\n const { x: endInnerX, y: endInnerY } = getCoordinateForArc(\n innerRadius,\n endAlpha,\n radius\n );\n return {\n startX,\n startY,\n endX,\n endY,\n startInnerX,\n startInnerY,\n endInnerX,\n endInnerY,\n arc,\n };\n};\n"],"names":["areSegmentsValid","segments","receivedSegments","start","end","showError","text","point","acc","i","currentSegment","getSegmentCoordinates","radius","segmentWidth","innerRadius","startAlpha","endAlpha","arc","startX","startY","getCoordinateForArc","startInnerX","startInnerY","endX","endY","endInnerX","endInnerY"],"mappings":";AAGa,MAAAA,IAAmB,CAC9BC,MACY;AACN,QAAAC,IAAmB,YAAYD,EAAS;AAAA,IAC5C,CAAC,EAAE,OAAAE,GAAO,KAAAC,QAAU,IAAID,CAAK,IAAIC,CAAG;AAAA,EACrC,CAAA,IACKC,IAAY,CAACC,MAAiB,QAAQ,MAAMA,GAAMJ,CAAgB;AAExE,MACED,EAAS;AAAA,IAAK,CAAC,EAAE,OAAAE,GAAO,KAAAC,QACtB,CAACD,GAAOC,CAAG,EAAE,KAAK,CAACG,MAAUA,IAAQ,KAAKA,IAAQ,CAAC;AAAA,EAAA;AAGrD,WAAAF,EAAU,0CAA0C,GAC7C;AAGT,MACEJ,EAAS;AAAA,IACP,CAACO,GAAK,EAAE,OAAAL,QAAYK,KAAOL,MAAU,IAAI,IAAI;AAAA,IAC7C;AAAA,QACI;AAEN,WAAAE,EAAU,iCAAiC,GACpC;AAGT,MACEJ,EAAS,OAAe,CAACO,GAAK,EAAE,KAAAJ,EAAI,MAAMI,KAAOJ,MAAQ,IAAI,IAAI,IAAI,CAAC,MACtE;AAEA,WAAAC,EAAU,6BAA6B,GAChC;AAGL,MAAAJ,EAAS,KAAK,CAAC,EAAE,OAAAE,GAAO,KAAAC,QAAUD,KAASC,CAAG;AAChD,WAAAC,EAAU,0CAA0C,GAC7C;AAGT,WAASI,IAAI,GAAGA,IAAIR,EAAS,QAAQQ,KAAK;AAClC,UAAAC,IAAiBT,EAASQ,CAAC;AAE7B,QADgBR,EAASQ,IAAI,CAAC,EAClB,QAAQC,EAAe;AACrC,aAAAL,EAAU,4DAA4D,GAC/D;AAAA,EAEX;AAEO,SAAA;AACT,GAEaM,IAAwB,CACnC,EAAE,OAAAR,GAAO,KAAAC,EAAI,GACbQ,GACAC,MACG;AACH,QAAMC,IAAcF,IAASC,GAEvBE,IAAa,KAAK,MAAMZ,IAAQ,GAAG,GACnCa,IAAW,KAAK,MAAMZ,IAAM,GAAG,GAC/Ba,IAAMD,IAAWD,GAEjB,EAAE,GAAGG,GAAQ,GAAGC,MAAWC,EAAoBR,GAAQG,CAAU,GACjE,EAAE,GAAGM,GAAa,GAAGC,EAAgB,IAAAF;AAAA,IACzCN;AAAA,IACAC;AAAA,IACAH;AAAA,EAAA,GAGI,EAAE,GAAGW,GAAM,GAAGC,MAASJ,EAAoBR,GAAQI,CAAQ,GAC3D,EAAE,GAAGS,GAAW,GAAGC,EAAc,IAAAN;AAAA,IACrCN;AAAA,IACAE;AAAA,IACAJ;AAAA,EAAA;AAEK,SAAA;AAAA,IACL,QAAAM;AAAA,IACA,QAAAC;AAAA,IACA,MAAAI;AAAA,IACA,MAAAC;AAAA,IACA,aAAAH;AAAA,IACA,aAAAC;AAAA,IACA,WAAAG;AAAA,IACA,WAAAC;AAAA,IACA,KAAAT;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"sd-component-library244.js","sources":["../src/components/meters/gradient-outline-meter/partials/gradient-meter-range/gradient-meter-range.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { BaseOutlineArc } from \"../../../outline-meter/partials/base-outline-arc\";\nimport {\n degToRad,\n getCoordinateForArc,\n getInnerX,\n getInnerY,\n} from \"../../../outline-meter/utils\";\nimport { getFractionColor } from \"../../utils\";\nimport { GradientMeterRangeProps as Props } from \"./interfaces\";\n\nconst grey = \"#CCD0DB\";\nexport const GradientMeterRange: React.FC<Props> = (props) => {\n const {\n diameter,\n idx,\n endColor,\n startColor,\n segmented,\n totalRanges,\n value,\n arc,\n innerPointRadius,\n pointStrokeWidth,\n gaugeWidth,\n pointColor,\n } = props;\n\n const start = idx / totalRanges;\n const end = (idx + 1) / totalRanges;\n\n const valueWithinRange = value >= start && value <= end;\n\n const arcStart = (360 - arc) / 2; // deg\n\n const radius = diameter / 2;\n\n const rangeArcStart = arcStart + arc * start;\n const rangeArcEnd = arcStart + arc * end;\n\n const { x: rangeStartX, y: rangeStartY } = getCoordinateForArc(\n radius,\n rangeArcStart\n );\n const { x: rangeEndX, y: rangeEndY } = getCoordinateForArc(\n radius,\n rangeArcEnd\n );\n\n if (segmented || !valueWithinRange)\n return (\n <BaseOutlineArc\n startX={rangeStartX}\n startY={rangeStartY}\n endX={rangeEndX}\n endY={rangeEndY}\n startAlpha={rangeArcStart}\n endAlpha={rangeArcEnd}\n color={\n segmented || value > end\n ? `url(#gradient-${startColor}-${endColor})`\n : grey\n }\n radius={radius}\n width={gaugeWidth}\n />\n );\n\n const valueAlpha =\n rangeArcStart + (((value - start) / (end - start)) * arc) / totalRanges;\n const { x: valueX, y: valueY } = getCoordinateForArc(radius, valueAlpha);\n const valueInnerX = getInnerX(valueX, degToRad(valueAlpha), gaugeWidth);\n const valueInnerY = getInnerY(valueY, degToRad(valueAlpha), gaugeWidth);\n\n const useVerticalGradient = idx >= totalRanges / 2;\n const useHorizontalGradient = idx + 1 === totalRanges / 2 + 0.5;\n\n const fraction = useHorizontalGradient\n ? (valueX - rangeStartX) / (rangeEndX - rangeStartX)\n : (valueY - rangeStartY) / (rangeEndY - rangeStartY);\n const color = getFractionColor(fraction, startColor, endColor);\n\n return (\n <>\n <defs>\n <linearGradient\n id={`value-gradient-${color}`}\n {...(useVerticalGradient\n ? {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 1,\n }\n : useHorizontalGradient\n ? { x1: 0, y1: 0, x2: 1, y2: 0 }\n : {\n x1: 0,\n y1: 1,\n x2: 0,\n y2: 0,\n })}\n >\n <stop stopColor={startColor} offset=\"0%\" />\n <stop stopColor={color} offset=\"100%\" />\n </linearGradient>\n </defs>\n <g>\n <BaseOutlineArc\n startX={rangeStartX}\n startY={rangeStartY}\n endX={valueX}\n endY={valueY}\n startAlpha={rangeArcStart}\n endAlpha={valueAlpha}\n color={`url(#value-gradient-${color})`}\n radius={radius}\n width={gaugeWidth}\n roundEnd={false}\n />\n <BaseOutlineArc\n startX={valueX}\n startY={valueY}\n endX={rangeEndX}\n endY={rangeEndY}\n startAlpha={valueAlpha}\n endAlpha={rangeArcEnd}\n color={grey}\n radius={radius}\n width={gaugeWidth}\n roundStart={false}\n />\n <circle\n cx={(valueX + valueInnerX) / 2}\n cy={(valueY + valueInnerY) / 2}\n r={pointStrokeWidth + innerPointRadius}\n strokeWidth={pointStrokeWidth}\n stroke={pointColor || color}\n fill=\"white\"\n />\n </g>\n </>\n );\n};\n"],"names":["grey","GradientMeterRange","props","diameter","idx","endColor","startColor","segmented","totalRanges","value","arc","innerPointRadius","pointStrokeWidth","gaugeWidth","pointColor","start","end","valueWithinRange","arcStart","radius","rangeArcStart","rangeArcEnd","rangeStartX","rangeStartY","getCoordinateForArc","rangeEndX","rangeEndY","jsx","BaseOutlineArc","valueAlpha","valueX","valueY","valueInnerX","getInnerX","degToRad","valueInnerY","getInnerY","useVerticalGradient","useHorizontalGradient","fraction","color","getFractionColor","jsxs","Fragment"],"mappings":";;;;AAYA,MAAMA,IAAO,WACAC,IAAsC,CAACC,MAAU;AACtD,QAAA;AAAA,IACJ,UAAAC;AAAA,IACA,KAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,OAAAC;AAAA,IACA,KAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,EACE,IAAAZ,GAEEa,IAAQX,IAAMI,GACdQ,KAAOZ,IAAM,KAAKI,GAElBS,IAAmBR,KAASM,KAASN,KAASO,GAE9CE,KAAY,MAAMR,KAAO,GAEzBS,IAAShB,IAAW,GAEpBiB,IAAgBF,IAAWR,IAAMK,GACjCM,IAAcH,IAAWR,IAAMM,GAE/B,EAAE,GAAGM,GAAa,GAAGC,EAAgB,IAAAC;AAAA,IACzCL;AAAA,IACAC;AAAA,EAAA,GAEI,EAAE,GAAGK,GAAWC,EAAiB,IAAAF;AAAA,IACrCL;AAAA,IACAE;AAAA,EAAA;AAGF,MAAId,KAAa,CAACU;AAEd,WAAAU,gBAAAA,EAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,QAAQN;AAAA,QACR,QAAQC;AAAA,QACR,MAAME;AAAA,QACN,MAAMC;AAAA,QACN,YAAYN;AAAA,QACZ,UAAUC;AAAA,QACV,OACEd,KAAaE,IAAQO,IACjB,iBAAiBV,CAAU,IAAID,CAAQ,MACvCL;AAAA,QAEN,QAAAmB;AAAA,QACA,OAAON;AAAA,MAAA;AAAA,IAAA;AAIb,QAAMgB,IACJT,KAAmBX,IAAQM,MAAUC,IAAMD,KAAUL,IAAOF,GACxD,EAAE,GAAGsB,GAAQ,GAAGC,MAAWP,EAAoBL,GAAQU,CAAU,GACjEG,IAAcC,EAAUH,GAAQI,EAASL,CAAU,GAAGhB,CAAU,GAChEsB,IAAcC,EAAUL,GAAQG,EAASL,CAAU,GAAGhB,CAAU,GAEhEwB,IAAsBjC,KAAOI,IAAc,GAC3C8B,IAAwBlC,IAAM,MAAMI,IAAc,IAAI,KAEtD+B,IAAWD,KACZR,IAASR,MAAgBG,IAAYH,MACrCS,IAASR,MAAgBG,IAAYH,IACpCiB,IAAQC,EAAiBF,GAAUjC,GAAYD,CAAQ;AAE7D,SAEIqC,gBAAAA,EAAA,KAAAC,YAAA,EAAA,UAAA;AAAA,IAAAhB,gBAAAA,MAAC,QACC,EAAA,UAAAe,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAI,kBAAkBF,CAAK;AAAA,QAC1B,GAAIH,IACD;AAAA,UACE,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,QACN,IACAC,IACA,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,MAC3B;AAAA,UACE,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,UACJ,IAAI;AAAA,QACN;AAAA,QAEJ,UAAA;AAAA,UAAAX,gBAAAA,EAAA,IAAC,QAAK,EAAA,WAAWrB,GAAY,QAAO,MAAK;AAAA,UACxCqB,gBAAAA,EAAA,IAAA,QAAA,EAAK,WAAWa,GAAO,QAAO,QAAO;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAE1C;AAAA,2BACC,KACC,EAAA,UAAA;AAAA,MAAAb,gBAAAA,EAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,QAAQN;AAAA,UACR,QAAQC;AAAA,UACR,MAAMO;AAAA,UACN,MAAMC;AAAA,UACN,YAAYX;AAAA,UACZ,UAAUS;AAAA,UACV,OAAO,uBAAuBW,CAAK;AAAA,UACnC,QAAArB;AAAA,UACA,OAAON;AAAA,UACP,UAAU;AAAA,QAAA;AAAA,MACZ;AAAA,MACAc,gBAAAA,EAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,QAAQE;AAAA,UACR,QAAQC;AAAA,UACR,MAAMN;AAAA,UACN,MAAMC;AAAA,UACN,YAAYG;AAAA,UACZ,UAAUR;AAAA,UACV,OAAOrB;AAAA,UACP,QAAAmB;AAAA,UACA,OAAON;AAAA,UACP,YAAY;AAAA,QAAA;AAAA,MACd;AAAA,MACAc,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAKG,IAASE,KAAe;AAAA,UAC7B,KAAKD,IAASI,KAAe;AAAA,UAC7B,GAAGvB,IAAmBD;AAAA,UACtB,aAAaC;AAAA,UACb,QAAQE,KAAc0B;AAAA,UACtB,MAAK;AAAA,QAAA;AAAA,MACP;AAAA,IAAA,GACF;AAAA,EACF,EAAA,CAAA;AAEJ;"}
@@ -1,78 +1,50 @@
1
- import { j as n } from "./sd-component-library197.js";
2
- import { useHover as Z } from "./sd-component-library3.js";
3
- import { getCoordinateForArc as l } from "./sd-component-library91.js";
4
- import { getSegmentCoordinates as O } from "./sd-component-library244.js";
5
- import { SegmentLabel as q } from "./sd-component-library320.js";
6
- const h = 300, G = ({
7
- segment: o,
8
- segmentWidth: $,
9
- outlineWidth: f,
10
- size: i,
11
- mobile: a,
12
- ...c
13
- }) => {
14
- const { start: p, end: x, color: u } = o, { labelOffset: j } = c, t = i / 2, d = t - $, {
15
- startInnerX: k,
16
- startInnerY: A,
17
- endInnerX: M,
18
- endInnerY: X,
19
- endX: Y,
20
- endY: v,
21
- startY: S,
22
- startX: g,
23
- arc: e
24
- } = O(o, t, $), r = i / 2, H = Math.round(p * 360), I = Math.round(x * 360), { isHover: L, hoverCallbacks: w } = Z(), m = L && !a, s = Math.sqrt(2) * (t + j), { x: y, y: C } = l(
1
+ import { j as N } from "./sd-component-library197.js";
2
+ import { getInnerX as k, getInnerY as B, degToRad as c, getCoordinateForArc as i } from "./sd-component-library91.js";
3
+ import { getFractionColor as b } from "./sd-component-library243.js";
4
+ import { BaseNeedle as q } from "./sd-component-library313.js";
5
+ const O = (R) => {
6
+ const {
7
+ ranges: r,
8
+ distanceFromRange: d,
9
+ innerCircleRadius: X,
10
+ innerCircleStrokeWidth: Y,
11
+ needleWidth: n,
12
+ arc: a,
13
+ value: l,
14
+ gaugeWidth: g,
15
+ diameter: v,
16
+ needleColor: S
17
+ } = R, s = v / 2, e = r.length, t = Math.floor(l * e), y = r[t][0], A = r[t][1], u = (360 - a) / 2, m = u + a * t / e, E = u + a * (t + 1) / e, p = t / e, M = (t + 1) / e, { x: h, y: x } = i(
25
18
  s,
26
- H,
27
- t
28
- ), { x: E, y: R } = l(
19
+ m
20
+ ), { x: j, y: F } = i(
29
21
  s,
30
- I,
31
- t
22
+ E
23
+ ), o = m + (l - p) / (M - p) * a / r.length, { x: C, y: f } = i(s, o), G = k(
24
+ C,
25
+ c(o),
26
+ d + g + n / 2
27
+ ), I = B(
28
+ f,
29
+ c(o),
30
+ d + g + n / 2
31
+ ), T = n / 2 * Math.cos(c(o)), W = n / 2 * Math.sin(c(o)), z = t + 1 === e / 2 + 0.5 ? (C - h) / (j - h) : (f - x) / (F - x), H = b(z, y, A);
32
+ return /* @__PURE__ */ N.jsx(
33
+ q,
34
+ {
35
+ radius: s,
36
+ innerCircleRadius: X,
37
+ innerCircleStrokeWidth: Y,
38
+ needleWidth: n,
39
+ color: S || H,
40
+ dx: T,
41
+ dy: W,
42
+ tipX: G,
43
+ tipY: I
44
+ }
32
45
  );
33
- return /* @__PURE__ */ n.jsxs("g", { ...a ? {} : w, children: [
34
- /* @__PURE__ */ n.jsx(
35
- "path",
36
- {
37
- d: `M${r},${r} L${y},${C} A${s},${s} 0 ${e > 180 ? "1" : "0"},1 ${E},${R}Z`,
38
- fill: "transparent"
39
- }
40
- ),
41
- /* @__PURE__ */ n.jsx(
42
- "path",
43
- {
44
- d: `M${r},${r} L${g},${S} A${t},${t} 0 ${e > 180 ? "1" : "0"},1 ${Y},${v}Z`,
45
- fill: u,
46
- strokeWidth: f,
47
- stroke: "white"
48
- }
49
- ),
50
- /* @__PURE__ */ n.jsx(
51
- "path",
52
- {
53
- d: `M${r},${r} L${k},${A} A${d},${d} 0 ${e > 180 ? "1" : "0"},1 ${M},${X}Z`,
54
- fill: "white",
55
- style: {
56
- transform: `scale(${m ? 0.8 : 1}`,
57
- transformOrigin: "center",
58
- transition: `all ${h}ms`
59
- }
60
- }
61
- ),
62
- /* @__PURE__ */ n.jsx(
63
- q,
64
- {
65
- segment: o,
66
- radius: t,
67
- animationDuration: h,
68
- isHover: m,
69
- mobile: a,
70
- ...c
71
- }
72
- )
73
- ] });
74
46
  };
75
47
  export {
76
- G as Segment
48
+ O as GradientMeterNeedle
77
49
  };
78
50
  //# sourceMappingURL=sd-component-library245.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library245.js","sources":["../src/components/meters/donut-diagram/partials/segment/segment.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { useHover } from \"../../../../../core/custom-hooks\";\nimport { getCoordinateForArc } from \"../../../outline-meter/utils\";\nimport { getSegmentCoordinates } from \"../../utils\";\nimport { SegmentLabel } from \"../segment-label\";\nimport { SegmentProps as Props } from \"./interfaces\";\n\nconst animationDuration = 300;\n\nexport const Segment: React.FC<Props> = ({\n segment,\n segmentWidth,\n outlineWidth,\n size: diameter,\n mobile,\n ...labelProps\n}) => {\n const { start, end, color } = segment;\n const { labelOffset } = labelProps;\n\n const radius = diameter / 2;\n const innerRadius = radius - segmentWidth;\n\n const {\n startInnerX,\n startInnerY,\n endInnerX,\n endInnerY,\n endX,\n endY,\n startY,\n startX,\n arc,\n } = getSegmentCoordinates(segment, radius, segmentWidth);\n\n const center = diameter / 2;\n\n const startAlpha = Math.round(start * 360);\n const endAlpha = Math.round(end * 360);\n\n const { isHover, hoverCallbacks } = useHover();\n const showHover = isHover && !mobile;\n\n const maxRadius = Math.sqrt(2) * (radius + labelOffset);\n\n const { x: maskStartX, y: maskStartY } = getCoordinateForArc(\n maxRadius,\n startAlpha,\n radius\n );\n\n const { x: maskEndX, y: maskEndY } = getCoordinateForArc(\n maxRadius,\n endAlpha,\n radius\n );\n\n return (\n <g {...(mobile ? {} : hoverCallbacks)}>\n {/* mask */}\n <path\n d={`M${center},${center} L${maskStartX},${maskStartY} A${maxRadius},${maxRadius} 0 ${\n arc > 180 ? \"1\" : \"0\"\n },1 ${maskEndX},${maskEndY}Z`}\n fill=\"transparent\"\n />\n\n {/* colored sector */}\n <path\n d={`M${center},${center} L${startX},${startY} A${radius},${radius} 0 ${\n arc > 180 ? \"1\" : \"0\"\n },1 ${endX},${endY}Z`}\n fill={color}\n strokeWidth={outlineWidth}\n stroke=\"white\"\n />\n\n {/* white inner sector */}\n <path\n d={`M${center},${center} L${startInnerX},${startInnerY} A${innerRadius},${innerRadius} 0 ${\n arc > 180 ? \"1\" : \"0\"\n },1 ${endInnerX},${endInnerY}Z`}\n fill=\"white\"\n style={{\n transform: `scale(${showHover ? 0.8 : 1}`,\n transformOrigin: \"center\",\n transition: `all ${animationDuration}ms`,\n }}\n />\n\n <SegmentLabel\n segment={segment}\n radius={radius}\n animationDuration={animationDuration}\n isHover={showHover}\n mobile={mobile}\n {...labelProps}\n />\n </g>\n );\n};\n"],"names":["animationDuration","Segment","segment","segmentWidth","outlineWidth","diameter","mobile","labelProps","start","end","color","labelOffset","radius","innerRadius","startInnerX","startInnerY","endInnerX","endInnerY","endX","endY","startY","startX","arc","getSegmentCoordinates","center","startAlpha","endAlpha","isHover","hoverCallbacks","useHover","showHover","maxRadius","maskStartX","maskStartY","getCoordinateForArc","maskEndX","maskEndY","jsx","SegmentLabel"],"mappings":";;;;;AAQA,MAAMA,IAAoB,KAEbC,IAA2B,CAAC;AAAA,EACvC,SAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,MAAMC;AAAA,EACN,QAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,EAAE,OAAAC,GAAO,KAAAC,GAAK,OAAAC,EAAA,IAAUR,GACxB,EAAE,aAAAS,EAAgB,IAAAJ,GAElBK,IAASP,IAAW,GACpBQ,IAAcD,IAAST,GAEvB;AAAA,IACJ,aAAAW;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,MAAAC;AAAA,IACA,MAAAC;AAAA,IACA,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,KAAAC;AAAA,EACE,IAAAC,EAAsBrB,GAASU,GAAQT,CAAY,GAEjDqB,IAASnB,IAAW,GAEpBoB,IAAa,KAAK,MAAMjB,IAAQ,GAAG,GACnCkB,IAAW,KAAK,MAAMjB,IAAM,GAAG,GAE/B,EAAE,SAAAkB,GAAS,gBAAAC,EAAe,IAAIC,EAAS,GACvCC,IAAYH,KAAW,CAACrB,GAExByB,IAAY,KAAK,KAAK,CAAC,KAAKnB,IAASD,IAErC,EAAE,GAAGqB,GAAY,GAAGC,EAAe,IAAAC;AAAA,IACvCH;AAAA,IACAN;AAAA,IACAb;AAAA,EAAA,GAGI,EAAE,GAAGuB,GAAU,GAAGC,EAAa,IAAAF;AAAA,IACnCH;AAAA,IACAL;AAAA,IACAd;AAAA,EAAA;AAGF,gCACG,KAAG,EAAA,GAAIN,IAAS,KAAKsB,GAEpB,UAAA;AAAA,IAAAS,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAG,IAAIb,CAAM,IAAIA,CAAM,KAAKQ,CAAU,IAAIC,CAAU,KAAKF,CAAS,IAAIA,CAAS,MAC7ET,IAAM,MAAM,MAAM,GACpB,MAAMa,CAAQ,IAAIC,CAAQ;AAAA,QAC1B,MAAK;AAAA,MAAA;AAAA,IACP;AAAA,IAGAC,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAG,IAAIb,CAAM,IAAIA,CAAM,KAAKH,CAAM,IAAID,CAAM,KAAKR,CAAM,IAAIA,CAAM,MAC/DU,IAAM,MAAM,MAAM,GACpB,MAAMJ,CAAI,IAAIC,CAAI;AAAA,QAClB,MAAMT;AAAA,QACN,aAAaN;AAAA,QACb,QAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAGAiC,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAG,IAAIb,CAAM,IAAIA,CAAM,KAAKV,CAAW,IAAIC,CAAW,KAAKF,CAAW,IAAIA,CAAW,MACnFS,IAAM,MAAM,MAAM,GACpB,MAAMN,CAAS,IAAIC,CAAS;AAAA,QAC5B,MAAK;AAAA,QACL,OAAO;AAAA,UACL,WAAW,SAASa,IAAY,MAAM,CAAC;AAAA,UACvC,iBAAiB;AAAA,UACjB,YAAY,OAAO9B,CAAiB;AAAA,QACtC;AAAA,MAAA;AAAA,IACF;AAAA,IAEAqC,gBAAAA,EAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAAApC;AAAA,QACA,QAAAU;AAAA,QACA,mBAAAZ;AAAA,QACA,SAAS8B;AAAA,QACT,QAAAxB;AAAA,QACC,GAAGC;AAAA,MAAA;AAAA,IACN;AAAA,EACF,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"sd-component-library245.js","sources":["../src/components/meters/gradient-outline-meter/partials/gradient-meter-needle/gradient-meter-needle.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { BaseNeedle } from \"../../../outline-meter/partials/base-needle\";\nimport {\n degToRad,\n getCoordinateForArc,\n getInnerX,\n getInnerY,\n} from \"../../../outline-meter/utils\";\nimport { getFractionColor } from \"../../utils\";\nimport { GradientMeterNeedleProps as Props } from \"./interfaces\";\n\nexport const GradientMeterNeedle: React.FC<Props> = (props) => {\n const {\n ranges,\n distanceFromRange,\n innerCircleRadius,\n innerCircleStrokeWidth,\n needleWidth,\n arc,\n value,\n gaugeWidth,\n diameter,\n needleColor,\n } = props;\n const radius = diameter / 2;\n const totalRanges = ranges.length;\n const valueRangeIndex = Math.floor(value * totalRanges);\n const startColor = ranges[valueRangeIndex][0];\n const endColor = ranges[valueRangeIndex][1];\n\n const arcStart = (360 - arc) / 2; // deg\n\n const rangeArcStart = arcStart + (arc * valueRangeIndex) / totalRanges;\n const rangeArcEnd = arcStart + (arc * (valueRangeIndex + 1)) / totalRanges;\n const start = valueRangeIndex / totalRanges;\n const end = (valueRangeIndex + 1) / totalRanges;\n\n const { x: rangeStartX, y: rangeStartY } = getCoordinateForArc(\n radius,\n rangeArcStart\n );\n const { x: rangeEndX, y: rangeEndY } = getCoordinateForArc(\n radius,\n rangeArcEnd\n );\n\n const valueAlpha =\n rangeArcStart + (((value - start) / (end - start)) * arc) / ranges.length;\n const { x: valueX, y: valueY } = getCoordinateForArc(radius, valueAlpha);\n const needleTipX = getInnerX(\n valueX,\n degToRad(valueAlpha),\n distanceFromRange + gaugeWidth + needleWidth / 2\n );\n const needleTipY = getInnerY(\n valueY,\n degToRad(valueAlpha),\n distanceFromRange + gaugeWidth + needleWidth / 2\n );\n\n const dx = (needleWidth / 2) * Math.cos(degToRad(valueAlpha));\n const dy = (needleWidth / 2) * Math.sin(degToRad(valueAlpha));\n\n const useHorizontalGradient = valueRangeIndex + 1 === totalRanges / 2 + 0.5;\n\n const fraction = useHorizontalGradient\n ? (valueX - rangeStartX) / (rangeEndX - rangeStartX)\n : (valueY - rangeStartY) / (rangeEndY - rangeStartY);\n const color = getFractionColor(fraction, startColor, endColor);\n\n return (\n <BaseNeedle\n radius={radius}\n innerCircleRadius={innerCircleRadius}\n innerCircleStrokeWidth={innerCircleStrokeWidth}\n needleWidth={needleWidth}\n color={needleColor || color}\n dx={dx}\n dy={dy}\n tipX={needleTipX}\n tipY={needleTipY}\n />\n );\n};\n"],"names":["GradientMeterNeedle","props","ranges","distanceFromRange","innerCircleRadius","innerCircleStrokeWidth","needleWidth","arc","value","gaugeWidth","diameter","needleColor","radius","totalRanges","valueRangeIndex","startColor","endColor","arcStart","rangeArcStart","rangeArcEnd","start","end","rangeStartX","rangeStartY","getCoordinateForArc","rangeEndX","rangeEndY","valueAlpha","valueX","valueY","needleTipX","getInnerX","degToRad","needleTipY","getInnerY","dx","dy","fraction","color","getFractionColor","jsx","BaseNeedle"],"mappings":";;;;AAYa,MAAAA,IAAuC,CAACC,MAAU;AACvD,QAAA;AAAA,IACJ,QAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,KAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,EACE,IAAAV,GACEW,IAASF,IAAW,GACpBG,IAAcX,EAAO,QACrBY,IAAkB,KAAK,MAAMN,IAAQK,CAAW,GAChDE,IAAab,EAAOY,CAAe,EAAE,CAAC,GACtCE,IAAWd,EAAOY,CAAe,EAAE,CAAC,GAEpCG,KAAY,MAAMV,KAAO,GAEzBW,IAAgBD,IAAYV,IAAMO,IAAmBD,GACrDM,IAAcF,IAAYV,KAAOO,IAAkB,KAAMD,GACzDO,IAAQN,IAAkBD,GAC1BQ,KAAOP,IAAkB,KAAKD,GAE9B,EAAE,GAAGS,GAAa,GAAGC,EAAgB,IAAAC;AAAA,IACzCZ;AAAA,IACAM;AAAA,EAAA,GAEI,EAAE,GAAGO,GAAW,GAAGC,EAAc,IAAAF;AAAA,IACrCZ;AAAA,IACAO;AAAA,EAAA,GAGIQ,IACJT,KAAmBV,IAAQY,MAAUC,IAAMD,KAAUb,IAAOL,EAAO,QAC/D,EAAE,GAAG0B,GAAQ,GAAGC,MAAWL,EAAoBZ,GAAQe,CAAU,GACjEG,IAAaC;AAAA,IACjBH;AAAA,IACAI,EAASL,CAAU;AAAA,IACnBxB,IAAoBM,IAAaH,IAAc;AAAA,EAAA,GAE3C2B,IAAaC;AAAA,IACjBL;AAAA,IACAG,EAASL,CAAU;AAAA,IACnBxB,IAAoBM,IAAaH,IAAc;AAAA,EAAA,GAG3C6B,IAAM7B,IAAc,IAAK,KAAK,IAAI0B,EAASL,CAAU,CAAC,GACtDS,IAAM9B,IAAc,IAAK,KAAK,IAAI0B,EAASL,CAAU,CAAC,GAItDU,IAFwBvB,IAAkB,MAAMD,IAAc,IAAI,OAGnEe,IAASN,MAAgBG,IAAYH,MACrCO,IAASN,MAAgBG,IAAYH,IACpCe,IAAQC,EAAiBF,GAAUtB,GAAYC,CAAQ;AAG3D,SAAAwB,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAAA7B;AAAA,MACA,mBAAAR;AAAA,MACA,wBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,OAAOK,KAAe2B;AAAA,MACtB,IAAAH;AAAA,MACA,IAAAC;AAAA,MACA,MAAMN;AAAA,MACN,MAAMG;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
@@ -1,44 +1,27 @@
1
- import { j as n } from "./sd-component-library197.js";
2
- import g from "./sd-component-library196.js";
3
- import { getSegmentCoordinates as I } from "./sd-component-library244.js";
4
- const w = ({
5
- segment: e,
6
- size: o,
7
- segmentWidth: s,
8
- outlineWidth: c,
9
- isMatching: a
10
- }) => {
11
- const { color: d } = e, t = o / 2, $ = t - s, {
12
- startX: l,
13
- startY: m,
14
- arc: i,
15
- startInnerY: p,
16
- startInnerX: h,
17
- endInnerY: u,
18
- endInnerX: x,
19
- endX: f,
20
- endY: j
21
- } = I(e, t, s), r = o / 2;
22
- return /* @__PURE__ */ n.jsxs("g", { children: [
23
- /* @__PURE__ */ n.jsx(
24
- "path",
25
- {
26
- d: `M${r},${r} L${l},${m} A${t},${t} 0 ${i > 180 ? "1" : "0"},1 ${f},${j}Z`,
27
- fill: a ? d : g.colors.cl_lightGrey,
28
- strokeWidth: c,
29
- stroke: "white"
30
- }
31
- ),
32
- /* @__PURE__ */ n.jsx(
33
- "path",
34
- {
35
- d: `M${r},${r} L${h},${p} A${$},${$} 0 ${i > 180 ? "1" : "0"},1 ${x},${u}Z`,
36
- fill: "white"
37
- }
38
- )
39
- ] });
1
+ import { j as p } from "./sd-component-library197.js";
2
+ const m = (a) => {
3
+ const { position: s, diameter: t, rangeY: e, rangeX: n, distanceFromRanges: r, isInRange: o } = a;
4
+ if (o)
5
+ return null;
6
+ const { startX: d, startY: i, endX: X, endY: Y } = s === "left" ? {
7
+ startX: n || 0,
8
+ startY: e || t / 2 - 0.5,
9
+ endX: -r,
10
+ endY: t / 2 - 0.5
11
+ } : s === "top" ? {
12
+ startX: n || t / 2,
13
+ startY: e || 0,
14
+ endX: t / 2,
15
+ endY: -r
16
+ } : {
17
+ startX: n || t,
18
+ startY: e || t / 2 - 0.5,
19
+ endX: t + r,
20
+ endY: t / 2 - 0.5
21
+ };
22
+ return /* @__PURE__ */ p.jsx("path", { d: `M${d},${i} L${X},${Y}`, stroke: "#CCD0DB" });
40
23
  };
41
24
  export {
42
- w as CompactDonutGaugeSegment
25
+ m as OutlineMeterLabelPointer
43
26
  };
44
27
  //# sourceMappingURL=sd-component-library246.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library246.js","sources":["../src/components/meters/compact-donut-gauge/partials/compact-donut-gauge-segment/compact-donut-gauge-segment.tsx"],"sourcesContent":["import React from \"react\";\n\nimport theme from \"../../../../../core/theme\";\nimport { getSegmentCoordinates } from \"../../../donut-diagram/utils\";\nimport { CompactDonutGaugeSegmentProps as Props } from \"./interfaces\";\n\nexport const CompactDonutGaugeSegment: React.FC<Props> = ({\n segment,\n size: diameter,\n segmentWidth,\n outlineWidth,\n isMatching,\n}) => {\n const { color } = segment;\n\n const radius = diameter / 2;\n const innerRadius = radius - segmentWidth;\n\n const {\n startX,\n startY,\n arc,\n startInnerY,\n startInnerX,\n endInnerY,\n endInnerX,\n endX,\n endY,\n } = getSegmentCoordinates(segment, radius, segmentWidth);\n\n const center = diameter / 2;\n\n return (\n <g>\n {/* colored sector */}\n <path\n d={`M${center},${center} L${startX},${startY} A${radius},${radius} 0 ${\n arc > 180 ? \"1\" : \"0\"\n },1 ${endX},${endY}Z`}\n fill={isMatching ? color : theme.colors[\"cl_lightGrey\"]}\n strokeWidth={outlineWidth}\n stroke=\"white\"\n />\n\n {/* white inner sector */}\n <path\n d={`M${center},${center} L${startInnerX},${startInnerY} A${innerRadius},${innerRadius} 0 ${\n arc > 180 ? \"1\" : \"0\"\n },1 ${endInnerX},${endInnerY}Z`}\n fill=\"white\"\n />\n </g>\n );\n};\n"],"names":["CompactDonutGaugeSegment","segment","diameter","segmentWidth","outlineWidth","isMatching","color","radius","innerRadius","startX","startY","arc","startInnerY","startInnerX","endInnerY","endInnerX","endX","endY","getSegmentCoordinates","center","jsx","theme"],"mappings":";;;AAMO,MAAMA,IAA4C,CAAC;AAAA,EACxD,SAAAC;AAAA,EACA,MAAMC;AAAA,EACN,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AACF,MAAM;AACE,QAAA,EAAE,OAAAC,EAAU,IAAAL,GAEZM,IAASL,IAAW,GACpBM,IAAcD,IAASJ,GAEvB;AAAA,IACJ,QAAAM;AAAA,IACA,QAAAC;AAAA,IACA,KAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,MAAAC;AAAA,IACA,MAAAC;AAAA,EACE,IAAAC,EAAsBjB,GAASM,GAAQJ,CAAY,GAEjDgB,IAASjB,IAAW;AAE1B,gCACG,KAEC,EAAA,UAAA;AAAA,IAAAkB,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAG,IAAID,CAAM,IAAIA,CAAM,KAAKV,CAAM,IAAIC,CAAM,KAAKH,CAAM,IAAIA,CAAM,MAC/DI,IAAM,MAAM,MAAM,GACpB,MAAMK,CAAI,IAAIC,CAAI;AAAA,QAClB,MAAMZ,IAAaC,IAAQe,EAAM,OAAO;AAAA,QACxC,aAAajB;AAAA,QACb,QAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAGAgB,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAG,IAAID,CAAM,IAAIA,CAAM,KAAKN,CAAW,IAAID,CAAW,KAAKJ,CAAW,IAAIA,CAAW,MACnFG,IAAM,MAAM,MAAM,GACpB,MAAMI,CAAS,IAAID,CAAS;AAAA,QAC5B,MAAK;AAAA,MAAA;AAAA,IACP;AAAA,EACF,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"sd-component-library246.js","sources":["../src/components/meters/outline-meter/partials/outline-meter-label-pointer/outline-meter-label-pointer.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { OutlineMeterLabelPointerProps as Props } from \"./interfaces\";\n\nexport const OutlineMeterLabelPointer: React.FC<Props> = (props) => {\n const { position, diameter, rangeY, rangeX, distanceFromRanges, isInRange } =\n props;\n\n if (isInRange) return null;\n\n const { startX, startY, endX, endY } =\n position === \"left\"\n ? {\n startX: rangeX || 0,\n startY: rangeY || diameter / 2 - 0.5,\n endX: -distanceFromRanges,\n endY: diameter / 2 - 0.5,\n }\n : position === \"top\"\n ? {\n startX: rangeX || diameter / 2,\n startY: rangeY || 0,\n endX: diameter / 2,\n endY: -distanceFromRanges,\n }\n : {\n startX: rangeX || diameter,\n startY: rangeY || diameter / 2 - 0.5,\n endX: diameter + distanceFromRanges,\n endY: diameter / 2 - 0.5,\n };\n\n return (\n <path d={`M${startX},${startY} L${endX},${endY}`} stroke={\"#CCD0DB\"} />\n );\n};\n"],"names":["OutlineMeterLabelPointer","props","position","diameter","rangeY","rangeX","distanceFromRanges","isInRange","startX","startY","endX","endY","jsx"],"mappings":";AAIa,MAAAA,IAA4C,CAACC,MAAU;AAClE,QAAM,EAAE,UAAAC,GAAU,UAAAC,GAAU,QAAAC,GAAQ,QAAAC,GAAQ,oBAAAC,GAAoB,WAAAC,EAC9D,IAAAN;AAEE,MAAAM;AAAkB,WAAA;AAEtB,QAAM,EAAE,QAAAC,GAAQ,QAAAC,GAAQ,MAAAC,GAAM,MAAAC,EAAK,IACjCT,MAAa,SACT;AAAA,IACE,QAAQG,KAAU;AAAA,IAClB,QAAQD,KAAUD,IAAW,IAAI;AAAA,IACjC,MAAM,CAACG;AAAA,IACP,MAAMH,IAAW,IAAI;AAAA,EAAA,IAEvBD,MAAa,QACb;AAAA,IACE,QAAQG,KAAUF,IAAW;AAAA,IAC7B,QAAQC,KAAU;AAAA,IAClB,MAAMD,IAAW;AAAA,IACjB,MAAM,CAACG;AAAA,EAAA,IAET;AAAA,IACE,QAAQD,KAAUF;AAAA,IAClB,QAAQC,KAAUD,IAAW,IAAI;AAAA,IACjC,MAAMA,IAAWG;AAAA,IACjB,MAAMH,IAAW,IAAI;AAAA,EAAA;AAG7B,SACGS,gBAAAA,EAAAA,IAAA,QAAA,EAAK,GAAG,IAAIJ,CAAM,IAAIC,CAAM,KAAKC,CAAI,IAAIC,CAAI,IAAI,QAAQ,UAAW,CAAA;AAEzE;"}
@@ -1,30 +1,56 @@
1
- import { j as t } from "./sd-component-library197.js";
2
- import { FlexCenter as s } from "./sd-component-library34.js";
3
- import { ResponsiveTextV2 as i } from "./sd-component-library150.js";
4
- const l = ({
5
- segment: { start: n, end: r, color: e },
6
- size: o
7
- }) => /* @__PURE__ */ t.jsx("foreignObject", { x: 0, y: 0, width: o, height: o, children: /* @__PURE__ */ t.jsx(s, { height: "100%", children: /* @__PURE__ */ t.jsxs(
8
- i,
9
- {
10
- fontSizeWeight: [20, "bold"],
11
- color: e,
12
- sx: { position: "relative" },
13
- children: [
14
- Math.round((r - n) * 100),
15
- /* @__PURE__ */ t.jsx(
16
- i,
1
+ import { j as s } from "./sd-component-library197.js";
2
+ import { useRef as g, useState as $, useEffect as b } from "react";
3
+ import { Box as l } from "rebass";
4
+ import { labelPaddingX as o, labelWidth as u } from "./sd-component-library226.js";
5
+ import { ResponsiveTextV2 as v } from "./sd-component-library150.js";
6
+ const C = (x) => {
7
+ const {
8
+ position: t,
9
+ diameter: r,
10
+ label: d,
11
+ distanceFromLabelToRanges: p,
12
+ isInRange: e,
13
+ color: n
14
+ } = x, i = g(), [c, a] = $(0);
15
+ b(() => {
16
+ i.current && a(i.current.getBoundingClientRect().height);
17
+ }, [i]);
18
+ const h = t === "right" ? `${r + p}px` : t === "top" ? `${r / 2}px` : void 0, m = t === "left" ? `${r + p}px` : void 0, f = t === "left" || t === "right" ? `${r / 2}px` : `${-p}px`;
19
+ return /* @__PURE__ */ s.jsx(l, { sx: { position: "absolute", left: h, top: f, right: m }, children: /* @__PURE__ */ s.jsx(
20
+ l,
21
+ {
22
+ sx: {
23
+ position: "relative",
24
+ top: `-${c}px`,
25
+ left: t === "top" ? "-50%" : void 0,
26
+ py: "7px",
27
+ px: e ? `${o}px` : "0",
28
+ borderColor: e ? n : "cl_lightGrey",
29
+ borderWidth: e ? "2px" : "1pt",
30
+ borderStyle: e ? "solid" : "none",
31
+ borderBottomStyle: !e && t === "top" ? "none" : "solid",
32
+ borderRadius: e ? `${o}px ${o}px ${t !== "left" ? `${o}px` : "0"} ${t !== "right" ? `${o}px` : "0"}` : "0",
33
+ bg: "cl_white",
34
+ "& > div": {
35
+ maxWidth: t === "top" ? void 0 : `${u}px`
36
+ }
37
+ },
38
+ ref: i,
39
+ children: /* @__PURE__ */ s.jsx(
40
+ v,
17
41
  {
18
- fontSizeWeight: [10, "bold"],
19
- color: e,
20
- sx: { position: "absolute", top: "4px", left: "100%" },
21
- children: "%"
42
+ width: "max-content",
43
+ fontSizeWeight: [[12, "semi-bold"]],
44
+ color: e && n !== "#CCD0DB" ? n : "cl_darkGrey",
45
+ textTransform: "uppercase",
46
+ letterSpacing: "1.8px",
47
+ children: d
22
48
  }
23
49
  )
24
- ]
25
- }
26
- ) }) });
50
+ }
51
+ ) });
52
+ };
27
53
  export {
28
- l as CompactDonutGaugeValueIndicator
54
+ C as BaseMeterLabelBox
29
55
  };
30
56
  //# sourceMappingURL=sd-component-library247.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library247.js","sources":["../src/components/meters/compact-donut-gauge/partials/compact-donut-gauge-value-indicator/compact-donut-gauge-value-indicator.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Flex } from \"rebass\";\n\nimport { FlexCenter } from \"../../../../containers\";\nimport { ResponsiveTextV2 } from \"../../../../texts\";\nimport { CompactDonutGaugeValueIndicatorProps as Props } from \"./interfaces\";\n\nexport const CompactDonutGaugeValueIndicator: React.FC<Props> = ({\n segment: { start, end, color },\n size,\n}) => {\n return (\n <foreignObject x={0} y={0} width={size} height={size}>\n <FlexCenter height=\"100%\">\n <ResponsiveTextV2\n fontSizeWeight={[20, \"bold\"]}\n color={color}\n sx={{ position: \"relative\" }}\n >\n {Math.round((end - start) * 100)}\n\n <ResponsiveTextV2\n fontSizeWeight={[10, \"bold\"]}\n color={color}\n sx={{ position: \"absolute\", top: \"4px\", left: \"100%\" }}\n >\n %\n </ResponsiveTextV2>\n </ResponsiveTextV2>\n </FlexCenter>\n </foreignObject>\n );\n};\n"],"names":["CompactDonutGaugeValueIndicator","start","end","color","size","jsx","FlexCenter","jsxs","ResponsiveTextV2"],"mappings":";;;AAQO,MAAMA,IAAmD,CAAC;AAAA,EAC/D,SAAS,EAAE,OAAAC,GAAO,KAAAC,GAAK,OAAAC,EAAM;AAAA,EAC7B,MAAAC;AACF,MAEKC,gBAAAA,EAAAA,IAAA,iBAAA,EAAc,GAAG,GAAG,GAAG,GAAG,OAAOD,GAAM,QAAQA,GAC9C,UAACC,gBAAAA,MAAAC,GAAA,EAAW,QAAO,QACjB,UAAAC,gBAAAA,EAAA;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,gBAAgB,CAAC,IAAI,MAAM;AAAA,IAC3B,OAAAL;AAAA,IACA,IAAI,EAAE,UAAU,WAAW;AAAA,IAE1B,UAAA;AAAA,MAAK,KAAA,OAAOD,IAAMD,KAAS,GAAG;AAAA,MAE/BI,gBAAAA,EAAA;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,gBAAgB,CAAC,IAAI,MAAM;AAAA,UAC3B,OAAAL;AAAA,UACA,IAAI,EAAE,UAAU,YAAY,KAAK,OAAO,MAAM,OAAO;AAAA,UACtD,UAAA;AAAA,QAAA;AAAA,MAED;AAAA,IAAA;AAAA,EAAA;AAAA,EAEJ,CAAA,EACF,CAAA;"}
1
+ {"version":3,"file":"sd-component-library247.js","sources":["../src/components/meters/outline-meter/partials/base-meter-label-box/base-meter-label-box.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\n\nimport { Box } from \"rebass\";\n\nimport { ResponsiveTextV2 } from \"../../../../texts/responsive-text-v2\";\nimport { labelPaddingX, labelWidth } from \"../../contants\";\nimport { BaseMeterLabelBoxProps as Props } from \"./interfaces\";\n\nexport const BaseMeterLabelBox: React.FC<Props> = (props) => {\n const {\n position,\n diameter,\n label,\n distanceFromLabelToRanges,\n isInRange,\n color,\n } = props;\n const ref = useRef<HTMLElement>();\n const [textHeight, setTextHeight] = useState(0);\n\n useEffect(() => {\n if (ref.current) setTextHeight(ref.current.getBoundingClientRect().height);\n }, [ref]);\n\n const left =\n position === \"right\"\n ? `${diameter + distanceFromLabelToRanges}px`\n : position === \"top\"\n ? `${diameter / 2}px`\n : undefined;\n const right =\n position === \"left\"\n ? `${diameter + distanceFromLabelToRanges}px`\n : undefined;\n const top =\n position === \"left\" || position === \"right\"\n ? `${diameter / 2}px`\n : `${-distanceFromLabelToRanges}px`;\n\n return (\n <Box sx={{ position: \"absolute\", left, top, right }}>\n <Box\n sx={{\n position: \"relative\",\n top: `-${textHeight}px`,\n left: position === \"top\" ? \"-50%\" : undefined,\n py: \"7px\",\n px: isInRange ? `${labelPaddingX}px` : \"0\",\n borderColor: isInRange ? color : \"cl_lightGrey\",\n borderWidth: isInRange ? \"2px\" : \"1pt\",\n borderStyle: isInRange ? \"solid\" : \"none\",\n borderBottomStyle:\n !isInRange && position === \"top\" ? \"none\" : \"solid\",\n borderRadius: isInRange\n ? `${labelPaddingX}px ${labelPaddingX}px ${\n position !== \"left\" ? `${labelPaddingX}px` : \"0\"\n } ${position !== \"right\" ? `${labelPaddingX}px` : \"0\"}`\n : \"0\",\n bg: \"cl_white\",\n \"& > div\": {\n maxWidth: position === \"top\" ? undefined : `${labelWidth}px`,\n },\n }}\n ref={ref}\n >\n <ResponsiveTextV2\n width=\"max-content\"\n fontSizeWeight={[[12, \"semi-bold\"]]}\n color={isInRange && color !== \"#CCD0DB\" ? color : \"cl_darkGrey\"}\n textTransform=\"uppercase\"\n letterSpacing=\"1.8px\"\n >\n {label}\n </ResponsiveTextV2>\n </Box>\n </Box>\n );\n};\n"],"names":["BaseMeterLabelBox","props","position","diameter","label","distanceFromLabelToRanges","isInRange","color","ref","useRef","textHeight","setTextHeight","useState","useEffect","left","right","top","jsx","Box","labelPaddingX","labelWidth","ResponsiveTextV2"],"mappings":";;;;;AAQa,MAAAA,IAAqC,CAACC,MAAU;AACrD,QAAA;AAAA,IACJ,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,2BAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC;AAAA,EACE,IAAAN,GACEO,IAAMC,KACN,CAACC,GAAYC,CAAa,IAAIC,EAAS,CAAC;AAE9C,EAAAC,EAAU,MAAM;AACd,IAAIL,EAAI,WAASG,EAAcH,EAAI,QAAQ,sBAAsB,EAAE,MAAM;AAAA,EAAA,GACxE,CAACA,CAAG,CAAC;AAER,QAAMM,IACJZ,MAAa,UACT,GAAGC,IAAWE,CAAyB,OACvCH,MAAa,QACb,GAAGC,IAAW,CAAC,OACf,QACAY,IACJb,MAAa,SACT,GAAGC,IAAWE,CAAyB,OACvC,QACAW,IACJd,MAAa,UAAUA,MAAa,UAChC,GAAGC,IAAW,CAAC,OACf,GAAG,CAACE,CAAyB;AAGjC,SAAAY,gBAAAA,MAACC,KAAI,IAAI,EAAE,UAAU,YAAY,MAAAJ,GAAM,KAAAE,GAAK,OAAAD,EAC1C,GAAA,UAAAE,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,UAAU;AAAA,QACV,KAAK,IAAIR,CAAU;AAAA,QACnB,MAAMR,MAAa,QAAQ,SAAS;AAAA,QACpC,IAAI;AAAA,QACJ,IAAII,IAAY,GAAGa,CAAa,OAAO;AAAA,QACvC,aAAab,IAAYC,IAAQ;AAAA,QACjC,aAAaD,IAAY,QAAQ;AAAA,QACjC,aAAaA,IAAY,UAAU;AAAA,QACnC,mBACE,CAACA,KAAaJ,MAAa,QAAQ,SAAS;AAAA,QAC9C,cAAcI,IACV,GAAGa,CAAa,MAAMA,CAAa,MACjCjB,MAAa,SAAS,GAAGiB,CAAa,OAAO,GAC/C,IAAIjB,MAAa,UAAU,GAAGiB,CAAa,OAAO,GAAG,KACrD;AAAA,QACJ,IAAI;AAAA,QACJ,WAAW;AAAA,UACT,UAAUjB,MAAa,QAAQ,SAAY,GAAGkB,CAAU;AAAA,QAC1D;AAAA,MACF;AAAA,MACA,KAAAZ;AAAA,MAEA,UAAAS,gBAAAA,EAAA;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,gBAAgB,CAAC,CAAC,IAAI,WAAW,CAAC;AAAA,UAClC,OAAOf,KAAaC,MAAU,YAAYA,IAAQ;AAAA,UAClD,eAAc;AAAA,UACd,eAAc;AAAA,UAEb,UAAAH;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}