@selfdecode/sd-component-library 4.0.149 → 4.0.151

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 (154) hide show
  1. package/lib/components/links/link/interfaces.d.ts +2 -0
  2. package/lib/sd-component-library104.js +1 -1
  3. package/lib/sd-component-library110.js +1 -1
  4. package/lib/sd-component-library111.js +1 -1
  5. package/lib/sd-component-library113.js +1 -1
  6. package/lib/sd-component-library114.js +1 -1
  7. package/lib/sd-component-library119.js +1 -1
  8. package/lib/sd-component-library120.js +1 -1
  9. package/lib/sd-component-library122.js +1 -1
  10. package/lib/sd-component-library125.js +3 -3
  11. package/lib/sd-component-library126.js +1 -1
  12. package/lib/sd-component-library13.js +1 -1
  13. package/lib/sd-component-library140.js +1 -1
  14. package/lib/sd-component-library141.js +1 -1
  15. package/lib/sd-component-library144.js +1 -1
  16. package/lib/sd-component-library145.js +3 -3
  17. package/lib/sd-component-library169.js +3 -3
  18. package/lib/sd-component-library172.js +60 -2
  19. package/lib/sd-component-library172.js.map +1 -1
  20. package/lib/sd-component-library173.js +2 -30
  21. package/lib/sd-component-library173.js.map +1 -1
  22. package/lib/sd-component-library174.js +21 -590
  23. package/lib/sd-component-library174.js.map +1 -1
  24. package/lib/sd-component-library175.js +595 -56
  25. package/lib/sd-component-library175.js.map +1 -1
  26. package/lib/sd-component-library176.js +57 -3
  27. package/lib/sd-component-library176.js.map +1 -1
  28. package/lib/sd-component-library177.js +3 -57
  29. package/lib/sd-component-library177.js.map +1 -1
  30. package/lib/sd-component-library190.js +77 -45
  31. package/lib/sd-component-library190.js.map +1 -1
  32. package/lib/sd-component-library191.js +3 -78
  33. package/lib/sd-component-library191.js.map +1 -1
  34. package/lib/sd-component-library192.js +46 -3
  35. package/lib/sd-component-library192.js.map +1 -1
  36. package/lib/sd-component-library194.js +3 -26
  37. package/lib/sd-component-library194.js.map +1 -1
  38. package/lib/sd-component-library195.js +31 -3
  39. package/lib/sd-component-library195.js.map +1 -1
  40. package/lib/sd-component-library196.js +19 -31
  41. package/lib/sd-component-library196.js.map +1 -1
  42. package/lib/sd-component-library197.js +20 -19
  43. package/lib/sd-component-library197.js.map +1 -1
  44. package/lib/sd-component-library198.js +28 -20
  45. package/lib/sd-component-library198.js.map +1 -1
  46. package/lib/sd-component-library199.js +32 -27
  47. package/lib/sd-component-library199.js.map +1 -1
  48. package/lib/sd-component-library200.js +22 -29
  49. package/lib/sd-component-library200.js.map +1 -1
  50. package/lib/sd-component-library202.js +64 -129
  51. package/lib/sd-component-library202.js.map +1 -1
  52. package/lib/sd-component-library204.js +36 -40
  53. package/lib/sd-component-library204.js.map +1 -1
  54. package/lib/sd-component-library205.js +12 -7
  55. package/lib/sd-component-library205.js.map +1 -1
  56. package/lib/sd-component-library206.js +21 -64
  57. package/lib/sd-component-library206.js.map +1 -1
  58. package/lib/sd-component-library207.js +107 -41
  59. package/lib/sd-component-library207.js.map +1 -1
  60. package/lib/sd-component-library208.js +46 -12
  61. package/lib/sd-component-library208.js.map +1 -1
  62. package/lib/sd-component-library209.js +24 -21
  63. package/lib/sd-component-library209.js.map +1 -1
  64. package/lib/sd-component-library210.js +47 -103
  65. package/lib/sd-component-library210.js.map +1 -1
  66. package/lib/sd-component-library211.js +128 -46
  67. package/lib/sd-component-library211.js.map +1 -1
  68. package/lib/sd-component-library212.js +45 -22
  69. package/lib/sd-component-library212.js.map +1 -1
  70. package/lib/sd-component-library213.js +7 -52
  71. package/lib/sd-component-library213.js.map +1 -1
  72. package/lib/sd-component-library214.js +46 -19
  73. package/lib/sd-component-library214.js.map +1 -1
  74. package/lib/sd-component-library215.js +75 -20
  75. package/lib/sd-component-library215.js.map +1 -1
  76. package/lib/sd-component-library216.js +39 -46
  77. package/lib/sd-component-library216.js.map +1 -1
  78. package/lib/sd-component-library217.js +27 -41
  79. package/lib/sd-component-library217.js.map +1 -1
  80. package/lib/sd-component-library218.js +21 -27
  81. package/lib/sd-component-library218.js.map +1 -1
  82. package/lib/sd-component-library219.js +20 -75
  83. package/lib/sd-component-library219.js.map +1 -1
  84. package/lib/sd-component-library229.js +30 -2
  85. package/lib/sd-component-library229.js.map +1 -1
  86. package/lib/sd-component-library230.js +51 -2
  87. package/lib/sd-component-library230.js.map +1 -1
  88. package/lib/sd-component-library231.js +134 -30
  89. package/lib/sd-component-library231.js.map +1 -1
  90. package/lib/sd-component-library232.js +62 -39
  91. package/lib/sd-component-library232.js.map +1 -1
  92. package/lib/sd-component-library233.js +62 -120
  93. package/lib/sd-component-library233.js.map +1 -1
  94. package/lib/sd-component-library234.js +30 -74
  95. package/lib/sd-component-library234.js.map +1 -1
  96. package/lib/sd-component-library235.js +15 -70
  97. package/lib/sd-component-library235.js.map +1 -1
  98. package/lib/sd-component-library236.js +112 -109
  99. package/lib/sd-component-library236.js.map +1 -1
  100. package/lib/sd-component-library237.js +122 -30
  101. package/lib/sd-component-library237.js.map +1 -1
  102. package/lib/sd-component-library238.js +9 -21
  103. package/lib/sd-component-library238.js.map +1 -1
  104. package/lib/sd-component-library239.js +44 -118
  105. package/lib/sd-component-library239.js.map +1 -1
  106. package/lib/sd-component-library240.js +89 -8
  107. package/lib/sd-component-library240.js.map +1 -1
  108. package/lib/sd-component-library241.js +89 -48
  109. package/lib/sd-component-library241.js.map +1 -1
  110. package/lib/sd-component-library242.js +2 -90
  111. package/lib/sd-component-library242.js.map +1 -1
  112. package/lib/sd-component-library243.js +2 -92
  113. package/lib/sd-component-library243.js.map +1 -1
  114. package/lib/sd-component-library246.js +70 -10
  115. package/lib/sd-component-library246.js.map +1 -1
  116. package/lib/sd-component-library247.js +101 -69
  117. package/lib/sd-component-library247.js.map +1 -1
  118. package/lib/sd-component-library248.js +96 -92
  119. package/lib/sd-component-library248.js.map +1 -1
  120. package/lib/sd-component-library249.js +10 -106
  121. package/lib/sd-component-library249.js.map +1 -1
  122. package/lib/sd-component-library263.js +1 -1
  123. package/lib/sd-component-library264.js +2 -2
  124. package/lib/sd-component-library266.js +4 -24
  125. package/lib/sd-component-library266.js.map +1 -1
  126. package/lib/sd-component-library267.js +24 -4
  127. package/lib/sd-component-library267.js.map +1 -1
  128. package/lib/sd-component-library282.js +1 -1
  129. package/lib/sd-component-library53.js +39 -39
  130. package/lib/sd-component-library53.js.map +1 -1
  131. package/lib/sd-component-library57.js +3 -3
  132. package/lib/sd-component-library58.js +1 -1
  133. package/lib/sd-component-library59.js +1 -1
  134. package/lib/sd-component-library6.js +1 -1
  135. package/lib/sd-component-library7.js +1 -1
  136. package/lib/sd-component-library70.js +2 -2
  137. package/lib/sd-component-library71.js +1 -1
  138. package/lib/sd-component-library72.js +1 -1
  139. package/lib/sd-component-library76.js +9 -8
  140. package/lib/sd-component-library76.js.map +1 -1
  141. package/lib/sd-component-library80.js +1 -1
  142. package/lib/sd-component-library81.js +6 -6
  143. package/lib/sd-component-library82.js +2 -2
  144. package/lib/sd-component-library84.js +4 -4
  145. package/lib/sd-component-library85.js +1 -1
  146. package/lib/sd-component-library87.js +5 -5
  147. package/lib/sd-component-library88.js +1 -1
  148. package/lib/sd-component-library89.js +6 -6
  149. package/lib/sd-component-library90.js +1 -1
  150. package/lib/sd-component-library93.js +2 -2
  151. package/lib/sd-component-library94.js +3 -3
  152. package/lib/sd-component-library95.js +2 -2
  153. package/lib/sd-component-library96.js +2 -2
  154. package/package.json +1 -1
@@ -1,50 +1,132 @@
1
- import { j as N } from "./sd-component-library169.js";
2
- import { getInnerX as k, getInnerY as B, degToRad as c, getCoordinateForArc as i } from "./sd-component-library86.js";
3
- import { getFractionColor as b } from "./sd-component-library209.js";
4
- import { BaseNeedle as q } from "./sd-component-library265.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(
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(
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
1
+ import { j as e } from "./sd-component-library169.js";
2
+ import U from "react";
3
+ import { isValueInRange as Z, inValueHigherThanRange as F, getCoordinateForArc as d, getInnerX as $, getInnerY as tt, degToRad as L } from "./sd-component-library86.js";
4
+ import { BaseOutlineArc as X } from "./sd-component-library267.js";
5
+ import { OutlineMeterLabelPointer as O } from "./sd-component-library209.js";
6
+ const st = U.forwardRef(
7
+ (D, M) => {
8
+ const {
9
+ start: n,
10
+ end: r,
11
+ color: x,
12
+ bounds: R,
13
+ diameter: o,
14
+ arc: v,
15
+ distanceBetweenRanges: l,
16
+ totalRanges: y,
17
+ value: g,
18
+ gaugeWidth: s,
19
+ segmented: f,
20
+ idx: m,
21
+ pointStrokeWidth: I,
22
+ innerPointRadius: T,
23
+ distanceFromRanges: b,
24
+ label: w,
25
+ labelPosition: V,
26
+ hideLabels: E,
27
+ connected: _
28
+ } = D, S = "#CCD0DB", A = v - (y - 1) * l, H = A * (r - n), Y = Z(g, n, r, R), q = (360 - v) / 2, t = o / 2, a = q + l * m + A * n, C = _ && F(g, r, R), i = a + A * (r - n) + (C ? l : 0), { x: P, y: j } = d(
29
+ t,
30
+ a
31
+ ), { x: W, y: k } = d(
32
+ t,
33
+ i
34
+ ), u = V || m === 0 ? "left" : m === y - 1 ? "right" : "top";
35
+ if (f || !Y) {
36
+ const J = f && Y || !f && F(g, r, R) ? x : S, B = C ? i - l : i, { y: K } = d(
37
+ t,
38
+ B
39
+ ), { x: N, y: Q } = d(
40
+ t,
41
+ (a + B) / 2
42
+ );
43
+ return /* @__PURE__ */ e.jsxs("g", { children: [
44
+ /* @__PURE__ */ e.jsx(
45
+ X,
46
+ {
47
+ startX: P,
48
+ startY: j,
49
+ endX: W,
50
+ endY: k,
51
+ startAlpha: a,
52
+ endAlpha: i,
53
+ color: J,
54
+ radius: t,
55
+ width: s
56
+ }
57
+ ),
58
+ !E && w && /* @__PURE__ */ e.jsx(
59
+ O,
60
+ {
61
+ diameter: o,
62
+ position: u,
63
+ distanceFromRanges: b,
64
+ isInRange: Y,
65
+ ...u === "right" && j > o / 2 || u === "left" && K > o / 2 ? {
66
+ rangeX: N,
67
+ rangeY: Q
68
+ } : void 0
69
+ }
70
+ )
71
+ ] });
44
72
  }
45
- );
46
- };
73
+ const c = a + (g - n) / (r - n) * H, { x: h, y: p } = d(t, c), z = $(h, L(c), s), G = tt(p, L(c), s);
74
+ return /* @__PURE__ */ e.jsxs("g", { children: [
75
+ /* @__PURE__ */ e.jsx(
76
+ X,
77
+ {
78
+ startX: P,
79
+ startY: j,
80
+ endX: h,
81
+ endY: p,
82
+ startAlpha: a,
83
+ endAlpha: c,
84
+ color: x,
85
+ radius: t,
86
+ width: s,
87
+ roundEnd: !1
88
+ }
89
+ ),
90
+ /* @__PURE__ */ e.jsx(
91
+ X,
92
+ {
93
+ startX: h,
94
+ startY: p,
95
+ endX: W,
96
+ endY: k,
97
+ startAlpha: c,
98
+ endAlpha: i,
99
+ color: S,
100
+ radius: t,
101
+ width: s,
102
+ roundStart: !1
103
+ }
104
+ ),
105
+ /* @__PURE__ */ e.jsx(
106
+ "circle",
107
+ {
108
+ cx: (h + z) / 2,
109
+ cy: (p + G) / 2,
110
+ r: I + T,
111
+ strokeWidth: I,
112
+ stroke: x,
113
+ fill: "white",
114
+ ref: M
115
+ }
116
+ ),
117
+ !E && w && /* @__PURE__ */ e.jsx(
118
+ O,
119
+ {
120
+ diameter: o,
121
+ isInRange: !0,
122
+ position: u,
123
+ distanceFromRanges: b
124
+ }
125
+ )
126
+ ] });
127
+ }
128
+ );
47
129
  export {
48
- O as GradientMeterNeedle
130
+ st as OutlineMeterRange
49
131
  };
50
132
  //# sourceMappingURL=sd-component-library211.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library211.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-library211.js","sources":["../src/components/meters/outline-meter/partials/outline-meter-range/outline-meter-range.tsx"],"sourcesContent":["import React from \"react\";\n\nimport {\n degToRad,\n getCoordinateForArc,\n getInnerX,\n getInnerY,\n inValueHigherThanRange,\n isValueInRange,\n} from \"../../utils\";\nimport { BaseOutlineArc } from \"../base-outline-arc\";\nimport { OutlineMeterLabelPointer } from \"../outline-meter-label-pointer\";\nimport { OutlineMeterRangeProps as Props } from \"./interfaces\";\n\nexport const OutlineMeterRange = React.forwardRef<SVGCircleElement, Props>(\n (props, pointRef) => {\n const {\n start,\n end,\n color,\n bounds,\n diameter,\n arc,\n distanceBetweenRanges,\n totalRanges,\n value,\n gaugeWidth,\n segmented,\n idx,\n pointStrokeWidth,\n innerPointRadius,\n distanceFromRanges,\n label,\n labelPosition,\n hideLabels,\n connected,\n } = props;\n\n const grey = \"#CCD0DB\";\n\n /* Arc value (in degrees) used for all ranges. */\n const arcForRanges = arc - (totalRanges - 1) * distanceBetweenRanges;\n\n /* Arc value for the current range. */\n const rangeArc = arcForRanges * (end - start);\n const valueWithinRange = isValueInRange(value, start, end, bounds);\n\n const arcStart = (360 - arc) / 2; // deg\n\n const radius = diameter / 2;\n\n const rangeArcStart =\n arcStart + distanceBetweenRanges * idx + arcForRanges * start;\n const needConnection =\n connected && inValueHigherThanRange(value, end, bounds);\n const rangeArcEnd =\n rangeArcStart +\n arcForRanges * (end - start) +\n (needConnection ? distanceBetweenRanges : 0);\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 calculatedLabelPosition =\n labelPosition || idx === 0\n ? \"left\"\n : idx === totalRanges - 1\n ? \"right\"\n : \"top\";\n\n /* When range will be filled completely. */\n if (segmented || !valueWithinRange) {\n const fillColor =\n (segmented && valueWithinRange) ||\n (!segmented && inValueHigherThanRange(value, end, bounds))\n ? color\n : grey;\n\n const adjustedRangeArcEnd = needConnection\n ? rangeArcEnd - distanceBetweenRanges\n : rangeArcEnd;\n const { y: adjustedRangeY } = getCoordinateForArc(\n radius,\n adjustedRangeArcEnd\n );\n const { x: rangeX, y: rangeY } = getCoordinateForArc(\n radius,\n (rangeArcStart + adjustedRangeArcEnd) / 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={fillColor}\n radius={radius}\n width={gaugeWidth}\n />\n {!hideLabels && label && (\n <OutlineMeterLabelPointer\n diameter={diameter}\n position={calculatedLabelPosition}\n distanceFromRanges={distanceFromRanges}\n isInRange={valueWithinRange}\n {...((calculatedLabelPosition === \"right\" &&\n rangeStartY > diameter / 2) ||\n (calculatedLabelPosition === \"left\" &&\n adjustedRangeY > diameter / 2)\n ? {\n rangeX,\n rangeY,\n }\n : undefined)}\n />\n )}\n </g>\n );\n }\n\n const valueAlpha =\n rangeArcStart + ((value - start) / (end - start)) * rangeArc;\n\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 return (\n <g>\n <BaseOutlineArc\n startX={rangeStartX}\n startY={rangeStartY}\n endX={valueX}\n endY={valueY}\n startAlpha={rangeArcStart}\n endAlpha={valueAlpha}\n color={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={color}\n fill=\"white\"\n ref={pointRef}\n />\n {!hideLabels && label && (\n <OutlineMeterLabelPointer\n diameter={diameter}\n isInRange\n position={calculatedLabelPosition}\n distanceFromRanges={distanceFromRanges}\n />\n )}\n </g>\n );\n }\n);\n"],"names":["OutlineMeterRange","React","props","pointRef","start","end","color","bounds","diameter","arc","distanceBetweenRanges","totalRanges","value","gaugeWidth","segmented","idx","pointStrokeWidth","innerPointRadius","distanceFromRanges","label","labelPosition","hideLabels","connected","grey","arcForRanges","rangeArc","valueWithinRange","isValueInRange","arcStart","radius","rangeArcStart","needConnection","inValueHigherThanRange","rangeArcEnd","rangeStartX","rangeStartY","getCoordinateForArc","rangeEndX","rangeEndY","calculatedLabelPosition","fillColor","adjustedRangeArcEnd","adjustedRangeY","rangeX","rangeY","jsx","BaseOutlineArc","OutlineMeterLabelPointer","valueAlpha","valueX","valueY","valueInnerX","getInnerX","degToRad","valueInnerY","getInnerY"],"mappings":";;;;;AAcO,MAAMA,KAAoBC,EAAM;AAAA,EACrC,CAACC,GAAOC,MAAa;AACb,UAAA;AAAA,MACJ,OAAAC;AAAA,MACA,KAAAC;AAAA,MACA,OAAAC;AAAA,MACA,QAAAC;AAAA,MACA,UAAAC;AAAA,MACA,KAAAC;AAAA,MACA,uBAAAC;AAAA,MACA,aAAAC;AAAA,MACA,OAAAC;AAAA,MACA,YAAAC;AAAA,MACA,WAAAC;AAAA,MACA,KAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,oBAAAC;AAAA,MACA,OAAAC;AAAA,MACA,eAAAC;AAAA,MACA,YAAAC;AAAA,MACA,WAAAC;AAAA,IACE,IAAApB,GAEEqB,IAAO,WAGPC,IAAef,KAAOE,IAAc,KAAKD,GAGzCe,IAAWD,KAAgBnB,IAAMD,IACjCsB,IAAmBC,EAAef,GAAOR,GAAOC,GAAKE,CAAM,GAE3DqB,KAAY,MAAMnB,KAAO,GAEzBoB,IAASrB,IAAW,GAEpBsB,IACJF,IAAWlB,IAAwBK,IAAMS,IAAepB,GACpD2B,IACJT,KAAaU,EAAuBpB,GAAOP,GAAKE,CAAM,GAClD0B,IACJH,IACAN,KAAgBnB,IAAMD,MACrB2B,IAAiBrB,IAAwB,IAEtC,EAAE,GAAGwB,GAAa,GAAGC,EAAgB,IAAAC;AAAA,MACzCP;AAAA,MACAC;AAAA,IAAA,GAEI,EAAE,GAAGO,GAAW,GAAGC,EAAc,IAAAF;AAAA,MACrCP;AAAA,MACAI;AAAA,IAAA,GAGIM,IACJnB,KAAiBL,MAAQ,IACrB,SACAA,MAAQJ,IAAc,IACtB,UACA;AAGF,QAAAG,KAAa,CAACY,GAAkB;AAC5B,YAAAc,IACH1B,KAAaY,KACb,CAACZ,KAAakB,EAAuBpB,GAAOP,GAAKE,CAAM,IACpDD,IACAiB,GAEAkB,IAAsBV,IACxBE,IAAcvB,IACduB,GACE,EAAE,GAAGS,EAAA,IAAmBN;AAAA,QAC5BP;AAAA,QACAY;AAAA,MAAA,GAEI,EAAE,GAAGE,GAAQ,GAAGC,EAAW,IAAAR;AAAA,QAC/BP;AAAA,SACCC,IAAgBW,KAAuB;AAAA,MAAA;AAE1C,oCACG,KACC,EAAA,UAAA;AAAA,QAAAI,gBAAAA,EAAA;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,QAAQZ;AAAA,YACR,QAAQC;AAAA,YACR,MAAME;AAAA,YACN,MAAMC;AAAA,YACN,YAAYR;AAAA,YACZ,UAAUG;AAAA,YACV,OAAOO;AAAA,YACP,QAAAX;AAAA,YACA,OAAOhB;AAAA,UAAA;AAAA,QACT;AAAA,QACC,CAACQ,KAAcF,KACd0B,gBAAAA,EAAA;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,UAAAvC;AAAA,YACA,UAAU+B;AAAA,YACV,oBAAArB;AAAA,YACA,WAAWQ;AAAA,YACV,GAAKa,MAA4B,WAChCJ,IAAc3B,IAAW,KAC1B+B,MAA4B,UAC3BG,IAAiBlC,IAAW,IAC1B;AAAA,cACE,QAAAmC;AAAA,cACA,QAAAC;AAAA,YAEF,IAAA;AAAA,UAAA;AAAA,QACN;AAAA,MAEJ,EAAA,CAAA;AAAA,IAEJ;AAEA,UAAMI,IACJlB,KAAkBlB,IAAQR,MAAUC,IAAMD,KAAUqB,GAEhD,EAAE,GAAGwB,GAAQ,GAAGC,MAAWd,EAAoBP,GAAQmB,CAAU,GACjEG,IAAcC,EAAUH,GAAQI,EAASL,CAAU,GAAGnC,CAAU,GAChEyC,IAAcC,GAAUL,GAAQG,EAASL,CAAU,GAAGnC,CAAU;AAEtE,kCACG,KACC,EAAA,UAAA;AAAA,MAAAgC,gBAAAA,EAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,QAAQZ;AAAA,UACR,QAAQC;AAAA,UACR,MAAMc;AAAA,UACN,MAAMC;AAAA,UACN,YAAYpB;AAAA,UACZ,UAAUkB;AAAA,UACV,OAAA1C;AAAA,UACA,QAAAuB;AAAA,UACA,OAAOhB;AAAA,UACP,UAAU;AAAA,QAAA;AAAA,MACZ;AAAA,MACAgC,gBAAAA,EAAA;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,QAAQG;AAAA,UACR,QAAQC;AAAA,UACR,MAAMb;AAAA,UACN,MAAMC;AAAA,UACN,YAAYU;AAAA,UACZ,UAAUf;AAAA,UACV,OAAOV;AAAA,UACP,QAAAM;AAAA,UACA,OAAOhB;AAAA,UACP,YAAY;AAAA,QAAA;AAAA,MACd;AAAA,MACAgC,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAKI,IAASE,KAAe;AAAA,UAC7B,KAAKD,IAASI,KAAe;AAAA,UAC7B,GAAGtC,IAAmBC;AAAA,UACtB,aAAaD;AAAA,UACb,QAAQV;AAAA,UACR,MAAK;AAAA,UACL,KAAKH;AAAA,QAAA;AAAA,MACP;AAAA,MACC,CAACkB,KAAcF,KACd0B,gBAAAA,EAAA;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,UAAAvC;AAAA,UACA,WAAS;AAAA,UACT,UAAU+B;AAAA,UACV,oBAAArB;AAAA,QAAA;AAAA,MACF;AAAA,IAEJ,EAAA,CAAA;AAAA,EAEJ;AACF;"}
@@ -1,27 +1,50 @@
1
- import { j as p } from "./sd-component-library169.js";
2
- const m = (a) => {
3
- const { position: s, diameter: t, rangeY: e, rangeX: n, distanceFromRanges: r, isInRange: o } = a;
4
- if (o)
1
+ import { j as k } from "./sd-component-library169.js";
2
+ import { isValueInRange as w, getInnerX as E, getInnerY as O, degToRad as r, getCoordinateForArc as V } from "./sd-component-library86.js";
3
+ import { BaseNeedle as b } from "./sd-component-library265.js";
4
+ const G = (x) => {
5
+ const {
6
+ diameter: f,
7
+ value: c,
8
+ arc: i,
9
+ ranges: o,
10
+ useSegmentedBehavior: v,
11
+ innerCircleRadius: I,
12
+ innerCircleStrokeWidth: A,
13
+ distanceFromRange: d,
14
+ needleWidth: e,
15
+ needleColor: C,
16
+ distanceBetweenRanges: l,
17
+ gaugeWidth: g
18
+ } = x, a = o.find(
19
+ ({ start: s, end: y, bounds: N }) => w(c, s, y, N)
20
+ );
21
+ if (!a)
5
22
  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" });
23
+ const u = f / 2, S = (360 - i) / 2, m = i - (o.length - 1) * l, { start: t, end: h, color: X } = a, Y = o.findIndex((s) => s === a), p = m * (h - t), R = S + l * Y + m * t, n = v ? R + p / 2 : R + (c - t) / (h - t) * p, { x: j, y: B } = V(u, n), F = E(
24
+ j,
25
+ r(n),
26
+ d + g + e / 2
27
+ ), M = O(
28
+ B,
29
+ r(n),
30
+ d + g + e / 2
31
+ ), T = e / 2 * Math.cos(r(n)), W = e / 2 * Math.sin(r(n));
32
+ return /* @__PURE__ */ k.jsx(
33
+ b,
34
+ {
35
+ dx: T,
36
+ dy: W,
37
+ color: C || X,
38
+ radius: u,
39
+ tipX: F,
40
+ tipY: M,
41
+ innerCircleStrokeWidth: A,
42
+ innerCircleRadius: I,
43
+ needleWidth: e
44
+ }
45
+ );
23
46
  };
24
47
  export {
25
- m as OutlineMeterLabelPointer
48
+ G as OutlineMeterNeedle
26
49
  };
27
50
  //# sourceMappingURL=sd-component-library212.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library212.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-library212.js","sources":["../src/components/meters/outline-meter/partials/outline-meter-needle/outline-meter-needle.tsx"],"sourcesContent":["import React from \"react\";\n\nimport {\n degToRad,\n getCoordinateForArc,\n getInnerX,\n getInnerY,\n isValueInRange,\n} from \"../../utils\";\nimport { BaseNeedle } from \"../base-needle\";\nimport { OutlineMeterNeedleProps as Props } from \"./interfaces\";\n\nexport const OutlineMeterNeedle: React.FC<Props> = (props) => {\n const {\n diameter,\n value,\n arc,\n ranges,\n useSegmentedBehavior,\n innerCircleRadius,\n innerCircleStrokeWidth,\n distanceFromRange,\n needleWidth,\n needleColor,\n distanceBetweenRanges,\n gaugeWidth,\n } = props;\n\n const matchingRange = ranges.find(({ start, end, bounds }) =>\n isValueInRange(value, start, end, bounds)\n );\n\n if (!matchingRange) return null;\n\n const radius = diameter / 2;\n\n const arcStart = (360 - arc) / 2;\n const arcForRanges = arc - (ranges.length - 1) * distanceBetweenRanges;\n const { start, end, color } = matchingRange;\n const matchingRangeIndex = ranges.findIndex((r) => r === matchingRange);\n const rangeArc = arcForRanges * (end - start);\n\n const rangeArcStart =\n arcStart +\n distanceBetweenRanges * matchingRangeIndex +\n arcForRanges * start;\n\n const valueAlpha = useSegmentedBehavior\n ? rangeArcStart + rangeArc / 2\n : rangeArcStart + ((value - start) / (end - start)) * rangeArc;\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 || color}\n radius={radius}\n tipX={needleTipX}\n tipY={needleTipY}\n innerCircleStrokeWidth={innerCircleStrokeWidth}\n innerCircleRadius={innerCircleRadius}\n needleWidth={needleWidth}\n />\n );\n};\n"],"names":["OutlineMeterNeedle","props","diameter","value","arc","ranges","useSegmentedBehavior","innerCircleRadius","innerCircleStrokeWidth","distanceFromRange","needleWidth","needleColor","distanceBetweenRanges","gaugeWidth","matchingRange","start","end","bounds","isValueInRange","radius","arcStart","arcForRanges","color","matchingRangeIndex","r","rangeArc","rangeArcStart","valueAlpha","valueX","valueY","getCoordinateForArc","needleTipX","getInnerX","degToRad","needleTipY","getInnerY","dx","dy","jsx","BaseNeedle"],"mappings":";;;AAYa,MAAAA,IAAsC,CAACC,MAAU;AACtD,QAAA;AAAA,IACJ,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,KAAAC;AAAA,IACA,QAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,YAAAC;AAAA,EACE,IAAAZ,GAEEa,IAAgBT,EAAO;AAAA,IAAK,CAAC,EAAE,OAAAU,GAAO,KAAAC,GAAK,QAAAC,QAC/CC,EAAef,GAAOY,GAAOC,GAAKC,CAAM;AAAA,EAAA;AAG1C,MAAI,CAACH;AAAsB,WAAA;AAE3B,QAAMK,IAASjB,IAAW,GAEpBkB,KAAY,MAAMhB,KAAO,GACzBiB,IAAejB,KAAOC,EAAO,SAAS,KAAKO,GAC3C,EAAE,OAAAG,GAAO,KAAAC,GAAK,OAAAM,EAAA,IAAUR,GACxBS,IAAqBlB,EAAO,UAAU,CAACmB,MAAMA,MAAMV,CAAa,GAChEW,IAAWJ,KAAgBL,IAAMD,IAEjCW,IACJN,IACAR,IAAwBW,IACxBF,IAAeN,GAEXY,IAAarB,IACfoB,IAAgBD,IAAW,IAC3BC,KAAkBvB,IAAQY,MAAUC,IAAMD,KAAUU,GAClD,EAAE,GAAGG,GAAQ,GAAGC,MAAWC,EAAoBX,GAAQQ,CAAU,GAEjEI,IAAaC;AAAA,IACjBJ;AAAA,IACAK,EAASN,CAAU;AAAA,IACnBlB,IAAoBI,IAAaH,IAAc;AAAA,EAAA,GAE3CwB,IAAaC;AAAA,IACjBN;AAAA,IACAI,EAASN,CAAU;AAAA,IACnBlB,IAAoBI,IAAaH,IAAc;AAAA,EAAA,GAG3C0B,IAAM1B,IAAc,IAAK,KAAK,IAAIuB,EAASN,CAAU,CAAC,GACtDU,IAAM3B,IAAc,IAAK,KAAK,IAAIuB,EAASN,CAAU,CAAC;AAG1D,SAAAW,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,IAAAH;AAAA,MACA,IAAAC;AAAA,MACA,OAAO1B,KAAeW;AAAA,MACtB,QAAAH;AAAA,MACA,MAAMY;AAAA,MACN,MAAMG;AAAA,MACN,wBAAA1B;AAAA,MACA,mBAAAD;AAAA,MACA,aAAAG;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,56 +1,11 @@
1
- import { j as s } from "./sd-component-library169.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-library196.js";
5
- import { ResponsiveTextV2 as v } from "./sd-component-library135.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
- ) });
1
+ import { j as m } from "./sd-component-library169.js";
2
+ import { isValueInRange as x } from "./sd-component-library86.js";
3
+ import { BaseMeterLabelBox as u } from "./sd-component-library210.js";
4
+ const g = (t) => {
5
+ const { value: o, idx: e, totalRanges: n, start: s, end: r, bounds: a } = t, i = x(o, s, r, a), l = e === 0 ? "left" : e === n - 1 ? "right" : "top";
6
+ return /* @__PURE__ */ m.jsx(u, { isInRange: i, position: l, ...t });
52
7
  };
53
8
  export {
54
- C as BaseMeterLabelBox
9
+ g as OutlineMeterLabelBox
55
10
  };
56
11
  //# sourceMappingURL=sd-component-library213.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library213.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-library213.js","sources":["../src/components/meters/outline-meter/partials/outline-meter-label-box/outline-meter-label-box.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { isValueInRange } from \"../../utils\";\nimport { BaseMeterLabelBox } from \"../base-meter-label-box\";\nimport { OutlineMeterLabelBoxProps as Props } from \"./interfaces\";\n\nexport const OutlineMeterLabelBox: React.FC<Props> = (props) => {\n const { value, idx, totalRanges, start, end, bounds } = props;\n\n const isInRange = isValueInRange(value, start, end, bounds);\n const position =\n idx === 0 ? \"left\" : idx === totalRanges - 1 ? \"right\" : \"top\";\n\n return (\n <BaseMeterLabelBox isInRange={isInRange} position={position} {...props} />\n );\n};\n"],"names":["OutlineMeterLabelBox","props","value","idx","totalRanges","start","end","bounds","isInRange","isValueInRange","position","jsx","BaseMeterLabelBox"],"mappings":";;;AAMa,MAAAA,IAAwC,CAACC,MAAU;AAC9D,QAAM,EAAE,OAAAC,GAAO,KAAAC,GAAK,aAAAC,GAAa,OAAAC,GAAO,KAAAC,GAAK,QAAAC,EAAW,IAAAN,GAElDO,IAAYC,EAAeP,GAAOG,GAAOC,GAAKC,CAAM,GACpDG,IACJP,MAAQ,IAAI,SAASA,MAAQC,IAAc,IAAI,UAAU;AAE3D,SACGO,gBAAAA,EAAAA,IAAAC,GAAA,EAAkB,WAAAJ,GAAsB,UAAAE,GAAqB,GAAGT,EAAO,CAAA;AAE5E;"}
@@ -1,24 +1,51 @@
1
- import { j as x } from "./sd-component-library169.js";
2
- import { Box as n } from "rebass";
3
- const $ = ({
4
- idx: o,
5
- color: t,
6
- total: i,
7
- segmentHeight: r
8
- }) => {
9
- const s = `${o === 0 ? r / 2 : 0}px`, a = `${o === i - 1 ? r / 2 : 0}px`;
10
- return /* @__PURE__ */ x.jsx(
11
- n,
12
- {
13
- bg: t,
14
- height: r,
15
- sx: {
16
- borderRadius: `${s} ${[...Array(2)].fill(a).join(" ")} ${s}`
17
- }
18
- }
1
+ import { getCoordinateForArc as s } from "./sd-component-library86.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
19
34
  );
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
+ };
20
46
  };
21
47
  export {
22
- $ as LinearGaugeSegment
48
+ v as areSegmentsValid,
49
+ x as getSegmentCoordinates
23
50
  };
24
51
  //# sourceMappingURL=sd-component-library214.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library214.js","sources":["../src/components/meters/linear-gauge-meter-partials/linear-gauge-segment/linear-gauge-segment.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Box } from \"rebass\";\n\nimport { LinearGaugeSegmentProps as Props } from \"./interfaces\";\n\nexport const LinearGaugeSegment: React.FC<Props> = ({\n idx,\n color,\n total,\n segmentHeight,\n}) => {\n const leftRadius = `${idx === 0 ? segmentHeight / 2 : 0}px`;\n const rightRadius = `${idx === total - 1 ? segmentHeight / 2 : 0}px`;\n\n return (\n <Box\n bg={color}\n height={segmentHeight}\n sx={{\n borderRadius: `${leftRadius} ${[...Array(2)]\n .fill(rightRadius)\n .join(\" \")} ${leftRadius}`,\n }}\n />\n );\n};\n"],"names":["LinearGaugeSegment","idx","color","total","segmentHeight","leftRadius","rightRadius","jsx","Box"],"mappings":";;AAMO,MAAMA,IAAsC,CAAC;AAAA,EAClD,KAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,eAAAC;AACF,MAAM;AACJ,QAAMC,IAAa,GAAGJ,MAAQ,IAAIG,IAAgB,IAAI,CAAC,MACjDE,IAAc,GAAGL,MAAQE,IAAQ,IAAIC,IAAgB,IAAI,CAAC;AAG9D,SAAAG,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,IAAIN;AAAA,MACJ,QAAQE;AAAA,MACR,IAAI;AAAA,QACF,cAAc,GAAGC,CAAU,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,EACxC,KAAKC,CAAW,EAChB,KAAK,GAAG,CAAC,IAAID,CAAU;AAAA,MAC5B;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"sd-component-library214.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,23 +1,78 @@
1
- import { j as o } from "./sd-component-library169.js";
2
- import { ResponsiveTextV2 as r } from "./sd-component-library135.js";
3
- const m = ({
4
- text: e,
5
- color: t,
6
- ...i
7
- }) => /* @__PURE__ */ o.jsx(
8
- r,
9
- {
10
- height: "12px",
11
- fontSizeWeight: [10, "semi-bold"],
12
- color: t,
13
- mx: "auto",
14
- maxWidth: "100%",
15
- textAlign: "center",
16
- ...i,
17
- children: e
18
- }
19
- );
1
+ import { j as n } from "./sd-component-library169.js";
2
+ import { useHover as Z } from "./sd-component-library3.js";
3
+ import { getCoordinateForArc as l } from "./sd-component-library86.js";
4
+ import { getSegmentCoordinates as O } from "./sd-component-library214.js";
5
+ import { SegmentLabel as q } from "./sd-component-library285.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(
25
+ s,
26
+ H,
27
+ t
28
+ ), { x: E, y: R } = l(
29
+ s,
30
+ I,
31
+ t
32
+ );
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
+ };
20
75
  export {
21
- m as LinearGaugeLabel
76
+ G as Segment
22
77
  };
23
78
  //# sourceMappingURL=sd-component-library215.js.map