@selfdecode/sd-component-library 4.0.139 → 4.0.141

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 (243) hide show
  1. package/lib/core/functions.d.ts +1 -1
  2. package/lib/sd-component-library100.js +2 -2
  3. package/lib/sd-component-library101.js +3 -3
  4. package/lib/sd-component-library102.js +2 -2
  5. package/lib/sd-component-library104.js +4 -4
  6. package/lib/sd-component-library106.js +4 -4
  7. package/lib/sd-component-library111.js +1 -1
  8. package/lib/sd-component-library112.js +1 -1
  9. package/lib/sd-component-library118.js +1 -1
  10. package/lib/sd-component-library126.js +1 -1
  11. package/lib/sd-component-library127.js +1 -1
  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 +18 -60
  33. package/lib/sd-component-library205.js.map +1 -1
  34. package/lib/sd-component-library206.js +63 -17
  35. package/lib/sd-component-library206.js.map +1 -1
  36. package/lib/sd-component-library207.js +22 -20
  37. package/lib/sd-component-library207.js.map +1 -1
  38. package/lib/sd-component-library208.js +21 -3
  39. package/lib/sd-component-library208.js.map +1 -1
  40. package/lib/sd-component-library209.js +1 -1
  41. package/lib/sd-component-library209.js.map +1 -1
  42. package/lib/sd-component-library210.js +3 -64
  43. package/lib/sd-component-library210.js.map +1 -1
  44. package/lib/sd-component-library211.js +37 -20
  45. package/lib/sd-component-library211.js.map +1 -1
  46. package/lib/sd-component-library212.js +127 -38
  47. package/lib/sd-component-library212.js.map +1 -1
  48. package/lib/sd-component-library213.js +13 -129
  49. package/lib/sd-component-library213.js.map +1 -1
  50. package/lib/sd-component-library214.js +14 -13
  51. package/lib/sd-component-library214.js.map +1 -1
  52. package/lib/sd-component-library215.js +2 -2
  53. package/lib/sd-component-library215.js.map +1 -1
  54. package/lib/sd-component-library216.js +3 -52
  55. package/lib/sd-component-library216.js.map +1 -1
  56. package/lib/sd-component-library217.js +3 -65
  57. package/lib/sd-component-library217.js.map +1 -1
  58. package/lib/sd-component-library218.js +52 -3
  59. package/lib/sd-component-library218.js.map +1 -1
  60. package/lib/sd-component-library219.js +64 -45
  61. package/lib/sd-component-library219.js.map +1 -1
  62. package/lib/sd-component-library220.js +3 -14
  63. package/lib/sd-component-library220.js.map +1 -1
  64. package/lib/sd-component-library221.js +46 -3
  65. package/lib/sd-component-library221.js.map +1 -1
  66. package/lib/sd-component-library222.js +17 -3
  67. package/lib/sd-component-library222.js.map +1 -1
  68. package/lib/sd-component-library223.js +26 -17
  69. package/lib/sd-component-library223.js.map +1 -1
  70. package/lib/sd-component-library224.js +55 -24
  71. package/lib/sd-component-library224.js.map +1 -1
  72. package/lib/sd-component-library225.js +3 -3
  73. package/lib/sd-component-library225.js.map +1 -1
  74. package/lib/sd-component-library226.js +3 -31
  75. package/lib/sd-component-library226.js.map +1 -1
  76. package/lib/sd-component-library227.js +3 -19
  77. package/lib/sd-component-library227.js.map +1 -1
  78. package/lib/sd-component-library228.js +31 -20
  79. package/lib/sd-component-library228.js.map +1 -1
  80. package/lib/sd-component-library229.js +19 -28
  81. package/lib/sd-component-library229.js.map +1 -1
  82. package/lib/sd-component-library230.js +19 -32
  83. package/lib/sd-component-library230.js.map +1 -1
  84. package/lib/sd-component-library231.js +28 -3
  85. package/lib/sd-component-library231.js.map +1 -1
  86. package/lib/sd-component-library232.js +32 -128
  87. package/lib/sd-component-library232.js.map +1 -1
  88. package/lib/sd-component-library233.js +129 -43
  89. package/lib/sd-component-library233.js.map +1 -1
  90. package/lib/sd-component-library234.js +41 -45
  91. package/lib/sd-component-library234.js.map +1 -1
  92. package/lib/sd-component-library235.js +46 -7
  93. package/lib/sd-component-library235.js.map +1 -1
  94. package/lib/sd-component-library236.js +8 -21
  95. package/lib/sd-component-library236.js.map +1 -1
  96. package/lib/sd-component-library237.js +58 -103
  97. package/lib/sd-component-library237.js.map +1 -1
  98. package/lib/sd-component-library238.js +37 -41
  99. package/lib/sd-component-library238.js.map +1 -1
  100. package/lib/sd-component-library239.js +12 -23
  101. package/lib/sd-component-library239.js.map +1 -1
  102. package/lib/sd-component-library240.js +21 -53
  103. package/lib/sd-component-library240.js.map +1 -1
  104. package/lib/sd-component-library241.js +103 -58
  105. package/lib/sd-component-library241.js.map +1 -1
  106. package/lib/sd-component-library242.js +41 -37
  107. package/lib/sd-component-library242.js.map +1 -1
  108. package/lib/sd-component-library243.js +23 -12
  109. package/lib/sd-component-library243.js.map +1 -1
  110. package/lib/sd-component-library244.js +52 -47
  111. package/lib/sd-component-library244.js.map +1 -1
  112. package/lib/sd-component-library245.js +46 -73
  113. package/lib/sd-component-library245.js.map +1 -1
  114. package/lib/sd-component-library246.js +1 -1
  115. package/lib/sd-component-library248.js +72 -18
  116. package/lib/sd-component-library248.js.map +1 -1
  117. package/lib/sd-component-library249.js +20 -19
  118. package/lib/sd-component-library249.js.map +1 -1
  119. package/lib/sd-component-library250.js +20 -2
  120. package/lib/sd-component-library250.js.map +1 -1
  121. package/lib/sd-component-library251.js +2 -57
  122. package/lib/sd-component-library251.js.map +1 -1
  123. package/lib/sd-component-library252.js +323 -23
  124. package/lib/sd-component-library252.js.map +1 -1
  125. package/lib/sd-component-library253.js +5 -3
  126. package/lib/sd-component-library253.js.map +1 -1
  127. package/lib/sd-component-library254.js +29 -22
  128. package/lib/sd-component-library254.js.map +1 -1
  129. package/lib/sd-component-library255.js +1 -1
  130. package/lib/sd-component-library255.js.map +1 -1
  131. package/lib/sd-component-library256.js +22 -323
  132. package/lib/sd-component-library256.js.map +1 -1
  133. package/lib/sd-component-library257.js +3 -5
  134. package/lib/sd-component-library257.js.map +1 -1
  135. package/lib/sd-component-library258.js +21 -25
  136. package/lib/sd-component-library258.js.map +1 -1
  137. package/lib/sd-component-library259.js +22 -24
  138. package/lib/sd-component-library259.js.map +1 -1
  139. package/lib/sd-component-library262.js +1 -1
  140. package/lib/sd-component-library265.js +122 -30
  141. package/lib/sd-component-library265.js.map +1 -1
  142. package/lib/sd-component-library266.js +9 -20
  143. package/lib/sd-component-library266.js.map +1 -1
  144. package/lib/sd-component-library267.js +41 -116
  145. package/lib/sd-component-library267.js.map +1 -1
  146. package/lib/sd-component-library268.js +30 -122
  147. package/lib/sd-component-library268.js.map +1 -1
  148. package/lib/sd-component-library269.js +20 -9
  149. package/lib/sd-component-library269.js.map +1 -1
  150. package/lib/sd-component-library270.js +116 -41
  151. package/lib/sd-component-library270.js.map +1 -1
  152. package/lib/sd-component-library271.js +9 -2
  153. package/lib/sd-component-library271.js.map +1 -1
  154. package/lib/sd-component-library272.js +51 -2
  155. package/lib/sd-component-library272.js.map +1 -1
  156. package/lib/sd-component-library273.js +89 -8
  157. package/lib/sd-component-library273.js.map +1 -1
  158. package/lib/sd-component-library274.js +89 -48
  159. package/lib/sd-component-library274.js.map +1 -1
  160. package/lib/sd-component-library275.js +2 -90
  161. package/lib/sd-component-library275.js.map +1 -1
  162. package/lib/sd-component-library276.js +2 -92
  163. package/lib/sd-component-library276.js.map +1 -1
  164. package/lib/sd-component-library277.js +6 -2
  165. package/lib/sd-component-library277.js.map +1 -1
  166. package/lib/sd-component-library278.js +2 -2
  167. package/lib/sd-component-library279.js +2 -70
  168. package/lib/sd-component-library279.js.map +1 -1
  169. package/lib/sd-component-library280.js +69 -101
  170. package/lib/sd-component-library280.js.map +1 -1
  171. package/lib/sd-component-library281.js +91 -95
  172. package/lib/sd-component-library281.js.map +1 -1
  173. package/lib/sd-component-library282.js +106 -10
  174. package/lib/sd-component-library282.js.map +1 -1
  175. package/lib/sd-component-library283.js +10 -6
  176. package/lib/sd-component-library283.js.map +1 -1
  177. package/lib/sd-component-library286.js +1 -1
  178. package/lib/sd-component-library288.js +3 -3
  179. package/lib/sd-component-library289.js +4 -4
  180. package/lib/sd-component-library290.js +1 -1
  181. package/lib/sd-component-library291.js +2 -3
  182. package/lib/sd-component-library291.js.map +1 -1
  183. package/lib/sd-component-library292.js +77 -3
  184. package/lib/sd-component-library292.js.map +1 -1
  185. package/lib/sd-component-library293.js +93 -3
  186. package/lib/sd-component-library293.js.map +1 -1
  187. package/lib/sd-component-library294.js +53 -2
  188. package/lib/sd-component-library294.js.map +1 -1
  189. package/lib/sd-component-library295.js +8 -76
  190. package/lib/sd-component-library295.js.map +1 -1
  191. package/lib/sd-component-library296.js +4 -92
  192. package/lib/sd-component-library296.js.map +1 -1
  193. package/lib/sd-component-library297.js +48 -48
  194. package/lib/sd-component-library297.js.map +1 -1
  195. package/lib/sd-component-library298.js +3 -9
  196. package/lib/sd-component-library298.js.map +1 -1
  197. package/lib/sd-component-library299.js +3 -5
  198. package/lib/sd-component-library299.js.map +1 -1
  199. package/lib/sd-component-library300.js +3 -53
  200. package/lib/sd-component-library300.js.map +1 -1
  201. package/lib/sd-component-library311.js +89 -47
  202. package/lib/sd-component-library311.js.map +1 -1
  203. package/lib/sd-component-library312.js +50 -34
  204. package/lib/sd-component-library312.js.map +1 -1
  205. package/lib/sd-component-library313.js +33 -91
  206. package/lib/sd-component-library313.js.map +1 -1
  207. package/lib/sd-component-library318.js +1 -1
  208. package/lib/sd-component-library4.js +16 -16
  209. package/lib/sd-component-library4.js.map +1 -1
  210. package/lib/sd-component-library48.js +1 -1
  211. package/lib/sd-component-library49.js +1 -1
  212. package/lib/sd-component-library51.js +3 -3
  213. package/lib/sd-component-library52.js +2 -2
  214. package/lib/sd-component-library53.js +2 -2
  215. package/lib/sd-component-library6.js +1 -1
  216. package/lib/sd-component-library60.js +1 -1
  217. package/lib/sd-component-library61.js +1 -1
  218. package/lib/sd-component-library62.js +4 -4
  219. package/lib/sd-component-library63.js +1 -1
  220. package/lib/sd-component-library64.js +2 -2
  221. package/lib/sd-component-library65.js +1 -1
  222. package/lib/sd-component-library7.js +1 -1
  223. package/lib/sd-component-library70.js +2 -2
  224. package/lib/sd-component-library72.js +3 -3
  225. package/lib/sd-component-library74.js +2 -2
  226. package/lib/sd-component-library75.js +3 -3
  227. package/lib/sd-component-library76.js +1 -1
  228. package/lib/sd-component-library77.js +1 -1
  229. package/lib/sd-component-library79.js +1 -1
  230. package/lib/sd-component-library80.js +1 -1
  231. package/lib/sd-component-library85.js +1 -1
  232. package/lib/sd-component-library86.js +6 -6
  233. package/lib/sd-component-library87.js +2 -2
  234. package/lib/sd-component-library88.js +1 -1
  235. package/lib/sd-component-library89.js +5 -5
  236. package/lib/sd-component-library90.js +1 -1
  237. package/lib/sd-component-library92.js +6 -6
  238. package/lib/sd-component-library93.js +1 -1
  239. package/lib/sd-component-library94.js +7 -7
  240. package/lib/sd-component-library95.js +1 -1
  241. package/lib/sd-component-library98.js +2 -2
  242. package/lib/sd-component-library99.js +1 -1
  243. package/package.json +1 -1
@@ -1,112 +1,67 @@
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-library236.js";
4
- import { BaseOutlineArc as X } from "./sd-component-library314.js";
5
- const w = "#CCD0DB", q = (G) => {
1
+ import { j as a } from "./sd-component-library197.js";
2
+ import { getCoordinateForArc as i } from "./sd-component-library91.js";
3
+ import { defaultTextBottomMargin as X } from "./sd-component-library227.js";
4
+ import { getRangeProperties as Y } from "./sd-component-library315.js";
5
+ import { BaseOutlineArc as b } from "./sd-component-library314.js";
6
+ import { DiscreteMeterLabelPointer as w } from "./sd-component-library316.js";
7
+ function z(s) {
6
8
  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
25
- );
26
- if (v || !k)
27
- return /* @__PURE__ */ t.jsx(
28
- X,
9
+ color: n,
10
+ idx: c,
11
+ gaugeWidth: d,
12
+ diameter: g,
13
+ arc: m,
14
+ distanceBetweenRanges: l,
15
+ totalRanges: p,
16
+ showLabel: h,
17
+ label: o,
18
+ isMatchedRange: x,
19
+ pointerWidth: f,
20
+ pointerLength: A,
21
+ horizontal: u
22
+ } = s, t = g / 2, { rangeArcStart: r, rangeArcEnd: e } = Y(
23
+ m,
24
+ p,
25
+ l,
26
+ c
27
+ ), { x: R, y: j } = i(
28
+ t,
29
+ r
30
+ ), { x: B, y: E } = i(
31
+ t,
32
+ e
33
+ ), M = (r + e) / 2;
34
+ return /* @__PURE__ */ a.jsxs("g", { children: [
35
+ /* @__PURE__ */ a.jsx(
36
+ b,
29
37
  {
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
38
+ startX: R,
39
+ startY: j,
40
+ endX: B,
41
+ endY: E,
42
+ startAlpha: r,
43
+ endAlpha: e,
44
+ color: n,
45
+ radius: t,
46
+ width: d
39
47
  }
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",
48
+ ),
49
+ h && o && !x && /* @__PURE__ */ a.jsx(
50
+ w,
45
51
  {
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
- ]
52
+ alpha: M,
53
+ pointerLength: A,
54
+ pointerWidth: f,
55
+ radius: t,
56
+ color: n,
57
+ textBottomMargin: X,
58
+ label: o,
59
+ horizontal: u
62
60
  }
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
- ] })
61
+ )
107
62
  ] });
108
- };
63
+ }
109
64
  export {
110
- q as GradientMeterRange
65
+ z as DiscreteRange
111
66
  };
112
67
  //# sourceMappingURL=sd-component-library237.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library237.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":"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"}
1
+ {"version":3,"file":"sd-component-library237.js","sources":["../src/components/meters/multi-option-discrete-outline-meter/partials/discrete-range/discrete-range.tsx"],"sourcesContent":["import React, { PropsWithChildren } from \"react\";\n\nimport { BaseOutlineArc } from \"../../../outline-meter/partials/base-outline-arc\";\nimport { getCoordinateForArc } from \"../../../outline-meter/utils\";\nimport { defaultTextBottomMargin } from \"../../constants\";\nimport { getRangeProperties } from \"../../utils\";\nimport { DiscreteMeterLabelPointer } from \"../discrete-meter-label-pointer\";\nimport { DiscreteRangeProps as Props } from \"./interfaces\";\n\nexport function DiscreteRange<T>(props: PropsWithChildren<Props<T>>) {\n const {\n color,\n idx,\n gaugeWidth,\n diameter,\n arc,\n distanceBetweenRanges,\n totalRanges,\n showLabel,\n label,\n isMatchedRange,\n pointerWidth,\n pointerLength,\n horizontal,\n } = props;\n\n const radius = diameter / 2;\n\n const { rangeArcStart, rangeArcEnd } = getRangeProperties(\n arc,\n totalRanges,\n distanceBetweenRanges,\n idx\n );\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 middleArcAlpha = (rangeArcStart + rangeArcEnd) / 2;\n\n return (\n <g>\n <BaseOutlineArc\n startX={rangeStartX}\n startY={rangeStartY}\n endX={rangeEndX}\n endY={rangeEndY}\n startAlpha={rangeArcStart}\n endAlpha={rangeArcEnd}\n color={color}\n radius={radius}\n width={gaugeWidth}\n />\n\n {showLabel && label && !isMatchedRange && (\n <DiscreteMeterLabelPointer\n alpha={middleArcAlpha}\n pointerLength={pointerLength}\n pointerWidth={pointerWidth}\n radius={radius}\n color={color}\n textBottomMargin={defaultTextBottomMargin}\n label={label}\n horizontal={horizontal}\n />\n )}\n </g>\n );\n}\n"],"names":["DiscreteRange","props","color","idx","gaugeWidth","diameter","arc","distanceBetweenRanges","totalRanges","showLabel","label","isMatchedRange","pointerWidth","pointerLength","horizontal","radius","rangeArcStart","rangeArcEnd","getRangeProperties","rangeStartX","rangeStartY","getCoordinateForArc","rangeEndX","rangeEndY","middleArcAlpha","jsx","BaseOutlineArc","DiscreteMeterLabelPointer","defaultTextBottomMargin"],"mappings":";;;;;;AASO,SAASA,EAAiBC,GAAoC;AAC7D,QAAA;AAAA,IACJ,OAAAC;AAAA,IACA,KAAAC;AAAA,IACA,YAAAC;AAAA,IACA,UAAAC;AAAA,IACA,KAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,EACE,IAAAb,GAEEc,IAASV,IAAW,GAEpB,EAAE,eAAAW,GAAe,aAAAC,EAAA,IAAgBC;AAAA,IACrCZ;AAAA,IACAE;AAAA,IACAD;AAAA,IACAJ;AAAA,EAAA,GAGI,EAAE,GAAGgB,GAAa,GAAGC,EAAgB,IAAAC;AAAA,IACzCN;AAAA,IACAC;AAAA,EAAA,GAEI,EAAE,GAAGM,GAAW,GAAGC,EAAc,IAAAF;AAAA,IACrCN;AAAA,IACAE;AAAA,EAAA,GAGIO,KAAkBR,IAAgBC,KAAe;AAEvD,gCACG,KACC,EAAA,UAAA;AAAA,IAAAQ,gBAAAA,EAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,QAAQP;AAAA,QACR,QAAQC;AAAA,QACR,MAAME;AAAA,QACN,MAAMC;AAAA,QACN,YAAYP;AAAA,QACZ,UAAUC;AAAA,QACV,OAAAf;AAAA,QACA,QAAAa;AAAA,QACA,OAAOX;AAAA,MAAA;AAAA,IACT;AAAA,IAECK,KAAaC,KAAS,CAACC,KACtBc,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,OAAOH;AAAA,QACP,eAAAX;AAAA,QACA,cAAAD;AAAA,QACA,QAAAG;AAAA,QACA,OAAAb;AAAA,QACA,kBAAkB0B;AAAA,QAClB,OAAAlB;AAAA,QACA,YAAAI;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
@@ -1,50 +1,46 @@
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-library236.js";
4
- import { BaseNeedle as q } from "./sd-component-library312.js";
5
- const O = (R) => {
1
+ import { j as M } from "./sd-component-library197.js";
2
+ import { getInnerX as T, getInnerY as W, degToRad as r, getCoordinateForArc as y } from "./sd-component-library91.js";
3
+ import { BaseNeedle as B } from "./sd-component-library313.js";
4
+ function E(p) {
6
5
  const {
7
- ranges: r,
8
- distanceFromRange: d,
9
- innerCircleRadius: X,
10
- innerCircleStrokeWidth: Y,
11
- needleWidth: n,
6
+ needleColor: u,
7
+ options: n,
8
+ value: h,
9
+ needleWidth: e,
10
+ innerCircleRadius: m,
11
+ innerCircleStrokeWidth: x,
12
+ diameter: R,
12
13
  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(
18
- s,
19
- m
20
- ), { x: j, y: F } = i(
21
- s,
22
- E
23
- ), o = m + (l - p) / (M - p) * a / r.length, { x: C, y: f } = i(s, o), G = k(
14
+ distanceBetweenRanges: c,
15
+ distanceFromRange: s,
16
+ gaugeWidth: i
17
+ } = p, o = n.findIndex(
18
+ (F) => h === F.value
19
+ ), d = R / 2, f = (360 - a) / 2, l = a - (n.length - 1) * c, g = o / n.length, v = (o + 1) / n.length, A = l * (v - g), t = f + c * o + l * g + A / 2, { x: C, y: I } = y(d, t), S = T(
24
20
  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,
21
+ r(t),
22
+ s + i + e / 2
23
+ ), X = W(
24
+ I,
25
+ r(t),
26
+ s + i + e / 2
27
+ ), Y = e / 2 * Math.cos(r(t)), j = e / 2 * Math.sin(r(t));
28
+ return /* @__PURE__ */ M.jsx(
29
+ B,
34
30
  {
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
31
+ dx: Y,
32
+ dy: j,
33
+ color: u,
34
+ radius: d,
35
+ tipX: S,
36
+ tipY: X,
37
+ innerCircleStrokeWidth: x,
38
+ innerCircleRadius: m,
39
+ needleWidth: e
44
40
  }
45
41
  );
46
- };
42
+ }
47
43
  export {
48
- O as GradientMeterNeedle
44
+ E as DiscreteMeterNeedle
49
45
  };
50
46
  //# sourceMappingURL=sd-component-library238.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library238.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
+ {"version":3,"file":"sd-component-library238.js","sources":["../src/components/meters/multi-option-discrete-outline-meter/partials/discrete-meter-needle/discrete-meter-needle.tsx"],"sourcesContent":["import React, { PropsWithChildren } 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 { DiscreteMeterNeedleProps as Props } from \"./interfaces\";\n\nexport function DiscreteMeterNeedle<T>(props: PropsWithChildren<Props<T>>) {\n const {\n needleColor,\n options,\n value,\n needleWidth,\n innerCircleRadius,\n innerCircleStrokeWidth,\n diameter,\n arc,\n distanceBetweenRanges,\n distanceFromRange,\n gaugeWidth,\n } = props;\n\n const matchingRangeIndex = options.findIndex(\n (option) => value === option.value\n );\n\n const radius = diameter / 2;\n\n const arcStart = (360 - arc) / 2;\n const arcForRanges = arc - (options.length - 1) * distanceBetweenRanges;\n\n const start = matchingRangeIndex / options.length;\n const end = (matchingRangeIndex + 1) / options.length;\n\n const rangeArc = arcForRanges * (end - start);\n\n const rangeArcStart =\n arcStart +\n distanceBetweenRanges * matchingRangeIndex +\n arcForRanges * start;\n\n const valueAlpha = rangeArcStart + rangeArc / 2;\n const { x: valueX, y: valueY } = getCoordinateForArc(radius, valueAlpha);\n\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 return (\n <BaseNeedle\n dx={dx}\n dy={dy}\n color={needleColor}\n radius={radius}\n tipX={needleTipX}\n tipY={needleTipY}\n innerCircleStrokeWidth={innerCircleStrokeWidth}\n innerCircleRadius={innerCircleRadius}\n needleWidth={needleWidth}\n />\n );\n}\n"],"names":["DiscreteMeterNeedle","props","needleColor","options","value","needleWidth","innerCircleRadius","innerCircleStrokeWidth","diameter","arc","distanceBetweenRanges","distanceFromRange","gaugeWidth","matchingRangeIndex","option","radius","arcStart","arcForRanges","start","end","rangeArc","valueAlpha","valueX","valueY","getCoordinateForArc","needleTipX","getInnerX","degToRad","needleTipY","getInnerY","dx","dy","jsx","BaseNeedle"],"mappings":";;;AAWO,SAASA,EAAuBC,GAAoC;AACnE,QAAA;AAAA,IACJ,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,KAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,YAAAC;AAAA,EACE,IAAAX,GAEEY,IAAqBV,EAAQ;AAAA,IACjC,CAACW,MAAWV,MAAUU,EAAO;AAAA,EAAA,GAGzBC,IAASP,IAAW,GAEpBQ,KAAY,MAAMP,KAAO,GACzBQ,IAAeR,KAAON,EAAQ,SAAS,KAAKO,GAE5CQ,IAAQL,IAAqBV,EAAQ,QACrCgB,KAAON,IAAqB,KAAKV,EAAQ,QAEzCiB,IAAWH,KAAgBE,IAAMD,IAOjCG,IAJJL,IACAN,IAAwBG,IACxBI,IAAeC,IAEkBE,IAAW,GACxC,EAAE,GAAGE,GAAQ,GAAGC,MAAWC,EAAoBT,GAAQM,CAAU,GAEjEI,IAAaC;AAAA,IACjBJ;AAAA,IACAK,EAASN,CAAU;AAAA,IACnBV,IAAoBC,IAAaP,IAAc;AAAA,EAAA,GAE3CuB,IAAaC;AAAA,IACjBN;AAAA,IACAI,EAASN,CAAU;AAAA,IACnBV,IAAoBC,IAAaP,IAAc;AAAA,EAAA,GAG3CyB,IAAMzB,IAAc,IAAK,KAAK,IAAIsB,EAASN,CAAU,CAAC,GACtDU,IAAM1B,IAAc,IAAK,KAAK,IAAIsB,EAASN,CAAU,CAAC;AAG1D,SAAAW,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,IAAAH;AAAA,MACA,IAAAC;AAAA,MACA,OAAO7B;AAAA,MACP,QAAAa;AAAA,MACA,MAAMU;AAAA,MACN,MAAMG;AAAA,MACN,wBAAArB;AAAA,MACA,mBAAAD;AAAA,MACA,aAAAD;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,27 +1,16 @@
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" });
1
+ import { j as g } from "./sd-component-library197.js";
2
+ import { getRangeProperties as d } from "./sd-component-library315.js";
3
+ import { MatchedRangeLabelBox as x } from "./sd-component-library311.js";
4
+ const h = (e) => {
5
+ const { idx: t, totalRanges: a, distanceBetweenRanges: r, arc: n } = e, { rangeArcStart: o, rangeArcEnd: s } = d(
6
+ n,
7
+ a,
8
+ r,
9
+ t
10
+ ), c = Math.round((o + s) / 2);
11
+ return /* @__PURE__ */ g.jsx(x, { ...e, alpha: c, round: !0 });
23
12
  };
24
13
  export {
25
- m as OutlineMeterLabelPointer
14
+ h as MatchedRangeLabelBox
26
15
  };
27
16
  //# sourceMappingURL=sd-component-library239.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library239.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
+ {"version":3,"file":"sd-component-library239.js","sources":["../src/components/meters/multi-option-discrete-outline-meter/partials/matched-range-label-box/matched-range-label-box.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { MatchedRangeLabelBox as LabelBox } from \"../../../common-outline-meter-partials\";\nimport { getRangeProperties } from \"../../utils\";\nimport { MatchedRangeLabelBoxProps as Props } from \"./interfaces\";\n\nexport const MatchedRangeLabelBox: React.FC<Props> = (props) => {\n const { idx, totalRanges, distanceBetweenRanges, arc } = props;\n\n const { rangeArcStart, rangeArcEnd } = getRangeProperties(\n arc,\n totalRanges,\n distanceBetweenRanges,\n idx\n );\n\n const alpha = Math.round((rangeArcStart + rangeArcEnd) / 2);\n\n return <LabelBox {...props} alpha={alpha} round />;\n};\n"],"names":["MatchedRangeLabelBox","props","idx","totalRanges","distanceBetweenRanges","arc","rangeArcStart","rangeArcEnd","getRangeProperties","alpha","LabelBox"],"mappings":";;;AAMa,MAAAA,IAAwC,CAACC,MAAU;AAC9D,QAAM,EAAE,KAAAC,GAAK,aAAAC,GAAa,uBAAAC,GAAuB,KAAAC,MAAQJ,GAEnD,EAAE,eAAAK,GAAe,aAAAC,EAAA,IAAgBC;AAAA,IACrCH;AAAA,IACAF;AAAA,IACAC;AAAA,IACAF;AAAA,EAAA,GAGIO,IAAQ,KAAK,OAAOH,IAAgBC,KAAe,CAAC;AAE1D,+BAAQG,GAAU,EAAA,GAAGT,GAAO,OAAAQ,GAAc,OAAK,GAAC,CAAA;AAClD;"}
@@ -1,56 +1,24 @@
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,
41
- {
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
48
- }
49
- )
50
- }
51
- ) });
52
- };
1
+ const i = (t, n) => [t, n], T = function* (t = []) {
2
+ for (; t.length > 1; )
3
+ yield i(t[0], t[1]), t = t.slice(1);
4
+ }, I = (t, n, e) => {
5
+ if (n && !e)
6
+ return n;
7
+ if (!n && e)
8
+ return e;
9
+ if (n && e) {
10
+ const s = a(n), r = a(e), c = s.map((B, f) => Math.round(B * (1 - t) + r[f] * t));
11
+ return c ? u(c[0], c[1], c[2]) : "";
12
+ }
13
+ return "";
14
+ }, u = (t, n, e) => "#" + (16777216 + (t << 16) + (n << 8) + e).toString(16).slice(1), a = (t) => {
15
+ const n = t.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i);
16
+ return n ? n.slice(1).map((e) => parseInt(e, 16)) : null;
17
+ }, h = (t, n, e) => Math.floor(t * n) === (e === "left" ? 0 : e === "right" ? n - 1 : 1), _ = (t) => t === "left" ? "right" : t === "top" ? "top" : "left";
53
18
  export {
54
- C as BaseMeterLabelBox
19
+ _ as flipPosition,
20
+ I as getFractionColor,
21
+ h as isLabelActive,
22
+ T as mapAdjacent
55
23
  };
56
24
  //# sourceMappingURL=sd-component-library240.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library240.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;"}
1
+ {"version":3,"file":"sd-component-library240.js","sources":["../src/components/meters/gradient-outline-meter/utils.ts"],"sourcesContent":["import { OutlineMeterLabelPosition } from \"../outline-meter\";\n\nconst pair = <T>(a: T, b: T): [T, T] => [a, b];\n\n/**\n * Returns an array of mapped adjacent elements into pairs.\n */\nexport const mapAdjacent = function* <T>(iter: T[] = []) {\n while (iter.length > 1) {\n yield pair<T>(iter[0], iter[1]);\n iter = iter.slice(1);\n }\n};\n\n/**\n * @param fraction numerical value from 0 to 1.\n * @param lowColor initial color of the gradient.\n * @param topColor final color of the gradient.\n * @returns color of gradient at specified fraction point or empty string\n */\nexport const getFractionColor = (\n fraction: number,\n lowColor?: string,\n topColor?: string\n): string => {\n if (lowColor && !topColor) return lowColor;\n if (!lowColor && topColor) return topColor;\n if (lowColor && topColor) {\n const lowRGB = hexToRGB(lowColor);\n const topRGB = hexToRGB(topColor);\n const resultRGB = lowRGB!.map((component, i) => {\n return Math.round(component * (1 - fraction) + topRGB![i] * fraction);\n });\n return resultRGB ? rgbToHex(resultRGB[0], resultRGB[1], resultRGB[2]) : \"\";\n }\n return \"\";\n};\n\n/**\n * Converts rgb color representation into hex representation.\n * @param red component of color.\n * @param green component of color.\n * @param blue component of color.\n */\nconst rgbToHex = (red: number, green: number, blue: number): string => {\n const BITS_IN_BYTE = 8;\n return (\n \"#\" +\n (\n (1 << (3 * BITS_IN_BYTE)) +\n (red << (2 * BITS_IN_BYTE)) +\n (green << BITS_IN_BYTE) +\n blue\n )\n .toString(16)\n .slice(1)\n );\n};\n\n/**\n * Converts hex representation of color into rgb.\n * @param hex complete and correct representation of color\n */\nconst hexToRGB = (hex: string) => {\n const normal = hex.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i);\n return normal ? normal.slice(1).map((e) => parseInt(e, 16)) : null;\n};\n\nexport const isLabelActive = (\n value: number,\n totalColors: number,\n position: OutlineMeterLabelPosition\n) =>\n Math.floor(value * totalColors) ===\n (position === \"left\" ? 0 : position === \"right\" ? totalColors - 1 : 1);\n\n/**\n * Mirrors entered position for outline meter label.\n */\nexport const flipPosition = (position: OutlineMeterLabelPosition) =>\n position === \"left\" ? \"right\" : position === \"top\" ? \"top\" : \"left\";\n"],"names":["pair","a","b","mapAdjacent","iter","getFractionColor","fraction","lowColor","topColor","lowRGB","hexToRGB","topRGB","resultRGB","component","i","rgbToHex","red","green","blue","hex","normal","isLabelActive","value","totalColors","position","flipPosition"],"mappings":"AAEA,MAAMA,IAAO,CAAIC,GAAMC,MAAiB,CAACD,GAAGC,CAAC,GAKhCC,IAAc,WAAcC,IAAY,IAAI;AAChD,SAAAA,EAAK,SAAS;AACnB,UAAMJ,EAAQI,EAAK,CAAC,GAAGA,EAAK,CAAC,CAAC,GACvBA,IAAAA,EAAK,MAAM,CAAC;AAEvB,GAQaC,IAAmB,CAC9BC,GACAC,GACAC,MACW;AACX,MAAID,KAAY,CAACC;AAAiB,WAAAD;AAClC,MAAI,CAACA,KAAYC;AAAiB,WAAAA;AAClC,MAAID,KAAYC,GAAU;AAClB,UAAAC,IAASC,EAASH,CAAQ,GAC1BI,IAASD,EAASF,CAAQ,GAC1BI,IAAYH,EAAQ,IAAI,CAACI,GAAWC,MACjC,KAAK,MAAMD,KAAa,IAAIP,KAAYK,EAAQG,CAAC,IAAIR,CAAQ,CACrE;AACM,WAAAM,IAAYG,EAASH,EAAU,CAAC,GAAGA,EAAU,CAAC,GAAGA,EAAU,CAAC,CAAC,IAAI;AAAA,EAC1E;AACO,SAAA;AACT,GAQMG,IAAW,CAACC,GAAaC,GAAeC,MAG1C,OAEG,YACAF,KAAQ,OACRC,KAAS,KACVC,GAEC,SAAS,EAAE,EACX,MAAM,CAAC,GAQRR,IAAW,CAACS,MAAgB;AAC1B,QAAAC,IAASD,EAAI,MAAM,6CAA6C;AACtE,SAAOC,IAASA,EAAO,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI;AAChE,GAEaC,IAAgB,CAC3BC,GACAC,GACAC,MAEA,KAAK,MAAMF,IAAQC,CAAW,OAC7BC,MAAa,SAAS,IAAIA,MAAa,UAAUD,IAAc,IAAI,IAKzDE,IAAe,CAACD,MAC3BA,MAAa,SAAS,UAAUA,MAAa,QAAQ,QAAQ;"}