@selfdecode/sd-component-library 4.0.148 → 4.0.149

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/lib/components/buttons/button/interfaces.d.ts +2 -2
  2. package/lib/sd-component-library100.js +4 -4
  3. package/lib/sd-component-library104.js +1 -1
  4. package/lib/sd-component-library105.js +1 -1
  5. package/lib/sd-component-library110.js +1 -1
  6. package/lib/sd-component-library111.js +2 -2
  7. package/lib/sd-component-library113.js +1 -1
  8. package/lib/sd-component-library114.js +1 -1
  9. package/lib/sd-component-library119.js +2 -2
  10. package/lib/sd-component-library120.js +2 -2
  11. package/lib/sd-component-library122.js +1 -1
  12. package/lib/sd-component-library125.js +3 -3
  13. package/lib/sd-component-library126.js +1 -1
  14. package/lib/sd-component-library13.js +1 -1
  15. package/lib/sd-component-library140.js +1 -1
  16. package/lib/sd-component-library141.js +1 -1
  17. package/lib/sd-component-library144.js +1 -1
  18. package/lib/sd-component-library145.js +4 -4
  19. package/lib/sd-component-library169.js +3 -3
  20. package/lib/sd-component-library172.js +2 -60
  21. package/lib/sd-component-library172.js.map +1 -1
  22. package/lib/sd-component-library173.js +30 -3
  23. package/lib/sd-component-library173.js.map +1 -1
  24. package/lib/sd-component-library174.js +599 -2
  25. package/lib/sd-component-library174.js.map +1 -1
  26. package/lib/sd-component-library175.js +60 -30
  27. package/lib/sd-component-library175.js.map +1 -1
  28. package/lib/sd-component-library176.js +3 -599
  29. package/lib/sd-component-library176.js.map +1 -1
  30. package/lib/sd-component-library177.js +56 -17
  31. package/lib/sd-component-library177.js.map +1 -1
  32. package/lib/sd-component-library178.js +24 -55
  33. package/lib/sd-component-library178.js.map +1 -1
  34. package/lib/sd-component-library179.js +17 -63
  35. package/lib/sd-component-library179.js.map +1 -1
  36. package/lib/sd-component-library180.js +60 -19
  37. package/lib/sd-component-library180.js.map +1 -1
  38. package/lib/sd-component-library181.js +20 -37
  39. package/lib/sd-component-library181.js.map +1 -1
  40. package/lib/sd-component-library182.js +38 -127
  41. package/lib/sd-component-library182.js.map +1 -1
  42. package/lib/sd-component-library183.js +129 -13
  43. package/lib/sd-component-library183.js.map +1 -1
  44. package/lib/sd-component-library184.js +13 -14
  45. package/lib/sd-component-library184.js.map +1 -1
  46. package/lib/sd-component-library185.js +14 -3
  47. package/lib/sd-component-library185.js.map +1 -1
  48. package/lib/sd-component-library186.js +2 -2
  49. package/lib/sd-component-library186.js.map +1 -1
  50. package/lib/sd-component-library187.js +2 -2
  51. package/lib/sd-component-library187.js.map +1 -1
  52. package/lib/sd-component-library188.js +3 -52
  53. package/lib/sd-component-library188.js.map +1 -1
  54. package/lib/sd-component-library189.js +37 -63
  55. package/lib/sd-component-library189.js.map +1 -1
  56. package/lib/sd-component-library190.js +46 -3
  57. package/lib/sd-component-library190.js.map +1 -1
  58. package/lib/sd-component-library191.js +77 -45
  59. package/lib/sd-component-library191.js.map +1 -1
  60. package/lib/sd-component-library192.js +3 -3
  61. package/lib/sd-component-library192.js.map +1 -1
  62. package/lib/sd-component-library193.js +17 -31
  63. package/lib/sd-component-library193.js.map +1 -1
  64. package/lib/sd-component-library194.js +26 -19
  65. package/lib/sd-component-library194.js.map +1 -1
  66. package/lib/sd-component-library195.js +3 -20
  67. package/lib/sd-component-library195.js.map +1 -1
  68. package/lib/sd-component-library196.js +31 -28
  69. package/lib/sd-component-library196.js.map +1 -1
  70. package/lib/sd-component-library197.js +19 -33
  71. package/lib/sd-component-library197.js.map +1 -1
  72. package/lib/sd-component-library198.js +20 -17
  73. package/lib/sd-component-library198.js.map +1 -1
  74. package/lib/sd-component-library199.js +28 -3
  75. package/lib/sd-component-library199.js.map +1 -1
  76. package/lib/sd-component-library200.js +32 -128
  77. package/lib/sd-component-library200.js.map +1 -1
  78. package/lib/sd-component-library201.js +3 -43
  79. package/lib/sd-component-library201.js.map +1 -1
  80. package/lib/sd-component-library202.js +128 -46
  81. package/lib/sd-component-library202.js.map +1 -1
  82. package/lib/sd-component-library203.js +42 -7
  83. package/lib/sd-component-library203.js.map +1 -1
  84. package/lib/sd-component-library204.js +45 -62
  85. package/lib/sd-component-library204.js.map +1 -1
  86. package/lib/sd-component-library205.js +8 -43
  87. package/lib/sd-component-library205.js.map +1 -1
  88. package/lib/sd-component-library206.js +64 -13
  89. package/lib/sd-component-library206.js.map +1 -1
  90. package/lib/sd-component-library207.js +42 -47
  91. package/lib/sd-component-library207.js.map +1 -1
  92. package/lib/sd-component-library208.js +11 -73
  93. package/lib/sd-component-library208.js.map +1 -1
  94. package/lib/sd-component-library21.js +28 -26
  95. package/lib/sd-component-library21.js.map +1 -1
  96. package/lib/sd-component-library213.js +1 -1
  97. package/lib/sd-component-library216.js +46 -39
  98. package/lib/sd-component-library216.js.map +1 -1
  99. package/lib/sd-component-library217.js +41 -27
  100. package/lib/sd-component-library217.js.map +1 -1
  101. package/lib/sd-component-library218.js +27 -2
  102. package/lib/sd-component-library218.js.map +1 -1
  103. package/lib/sd-component-library219.js +72 -23
  104. package/lib/sd-component-library219.js.map +1 -1
  105. package/lib/sd-component-library220.js +2 -325
  106. package/lib/sd-component-library220.js.map +1 -1
  107. package/lib/sd-component-library221.js +325 -5
  108. package/lib/sd-component-library221.js.map +1 -1
  109. package/lib/sd-component-library222.js +5 -25
  110. package/lib/sd-component-library222.js.map +1 -1
  111. package/lib/sd-component-library223.js +25 -3
  112. package/lib/sd-component-library223.js.map +1 -1
  113. package/lib/sd-component-library224.js +3 -22
  114. package/lib/sd-component-library224.js.map +1 -1
  115. package/lib/sd-component-library225.js +22 -3
  116. package/lib/sd-component-library225.js.map +1 -1
  117. package/lib/sd-component-library226.js +3 -29
  118. package/lib/sd-component-library226.js.map +1 -1
  119. package/lib/sd-component-library227.js +25 -20
  120. package/lib/sd-component-library227.js.map +1 -1
  121. package/lib/sd-component-library228.js +18 -20
  122. package/lib/sd-component-library228.js.map +1 -1
  123. package/lib/sd-component-library229.js +2 -30
  124. package/lib/sd-component-library229.js.map +1 -1
  125. package/lib/sd-component-library230.js +2 -51
  126. package/lib/sd-component-library230.js.map +1 -1
  127. package/lib/sd-component-library231.js +30 -134
  128. package/lib/sd-component-library231.js.map +1 -1
  129. package/lib/sd-component-library232.js +39 -62
  130. package/lib/sd-component-library232.js.map +1 -1
  131. package/lib/sd-component-library233.js +120 -62
  132. package/lib/sd-component-library233.js.map +1 -1
  133. package/lib/sd-component-library234.js +74 -9
  134. package/lib/sd-component-library234.js.map +1 -1
  135. package/lib/sd-component-library235.js +72 -47
  136. package/lib/sd-component-library235.js.map +1 -1
  137. package/lib/sd-component-library236.js +120 -88
  138. package/lib/sd-component-library236.js.map +1 -1
  139. package/lib/sd-component-library237.js +26 -88
  140. package/lib/sd-component-library237.js.map +1 -1
  141. package/lib/sd-component-library238.js +20 -29
  142. package/lib/sd-component-library238.js.map +1 -1
  143. package/lib/sd-component-library239.js +121 -17
  144. package/lib/sd-component-library239.js.map +1 -1
  145. package/lib/sd-component-library240.js +9 -125
  146. package/lib/sd-component-library240.js.map +1 -1
  147. package/lib/sd-component-library241.js +46 -117
  148. package/lib/sd-component-library241.js.map +1 -1
  149. package/lib/sd-component-library242.js +90 -2
  150. package/lib/sd-component-library242.js.map +1 -1
  151. package/lib/sd-component-library243.js +92 -2
  152. package/lib/sd-component-library243.js.map +1 -1
  153. package/lib/sd-component-library246.js +10 -70
  154. package/lib/sd-component-library246.js.map +1 -1
  155. package/lib/sd-component-library247.js +69 -101
  156. package/lib/sd-component-library247.js.map +1 -1
  157. package/lib/sd-component-library248.js +92 -96
  158. package/lib/sd-component-library248.js.map +1 -1
  159. package/lib/sd-component-library249.js +106 -10
  160. package/lib/sd-component-library249.js.map +1 -1
  161. package/lib/sd-component-library263.js +1 -1
  162. package/lib/sd-component-library264.js +2 -2
  163. package/lib/sd-component-library269.js +11 -7
  164. package/lib/sd-component-library269.js.map +1 -1
  165. package/lib/sd-component-library270.js +3 -3
  166. package/lib/sd-component-library270.js.map +1 -1
  167. package/lib/sd-component-library282.js +1 -1
  168. package/lib/sd-component-library284.js +6 -90
  169. package/lib/sd-component-library284.js.map +1 -1
  170. package/lib/sd-component-library285.js +90 -6
  171. package/lib/sd-component-library285.js.map +1 -1
  172. package/lib/sd-component-library44.js +1 -1
  173. package/lib/sd-component-library45.js +1 -1
  174. package/lib/sd-component-library47.js +2 -2
  175. package/lib/sd-component-library48.js +2 -2
  176. package/lib/sd-component-library55.js +1 -1
  177. package/lib/sd-component-library57.js +3 -3
  178. package/lib/sd-component-library58.js +1 -1
  179. package/lib/sd-component-library59.js +2 -2
  180. package/lib/sd-component-library6.js +1 -1
  181. package/lib/sd-component-library60.js +1 -1
  182. package/lib/sd-component-library65.js +2 -2
  183. package/lib/sd-component-library67.js +3 -3
  184. package/lib/sd-component-library69.js +2 -2
  185. package/lib/sd-component-library7.js +1 -1
  186. package/lib/sd-component-library70.js +3 -3
  187. package/lib/sd-component-library71.js +1 -1
  188. package/lib/sd-component-library72.js +1 -1
  189. package/lib/sd-component-library74.js +1 -1
  190. package/lib/sd-component-library75.js +1 -1
  191. package/lib/sd-component-library80.js +1 -1
  192. package/lib/sd-component-library81.js +6 -6
  193. package/lib/sd-component-library82.js +2 -2
  194. package/lib/sd-component-library83.js +1 -1
  195. package/lib/sd-component-library84.js +5 -5
  196. package/lib/sd-component-library85.js +1 -1
  197. package/lib/sd-component-library87.js +6 -6
  198. package/lib/sd-component-library88.js +1 -1
  199. package/lib/sd-component-library89.js +2 -2
  200. package/lib/sd-component-library90.js +1 -1
  201. package/lib/sd-component-library93.js +2 -2
  202. package/lib/sd-component-library94.js +3 -3
  203. package/lib/sd-component-library96.js +1 -1
  204. package/lib/sd-component-library97.js +2 -2
  205. package/lib/sd-component-library98.js +4 -4
  206. package/package.json +1 -1
@@ -1,51 +1,46 @@
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
1
+ import { j as M } from "./sd-component-library169.js";
2
+ import { getInnerX as T, getInnerY as W, degToRad as r, getCoordinateForArc as y } from "./sd-component-library86.js";
3
+ import { BaseNeedle as B } from "./sd-component-library265.js";
4
+ function E(p) {
5
+ const {
6
+ needleColor: u,
7
+ options: n,
8
+ value: h,
9
+ needleWidth: e,
10
+ innerCircleRadius: m,
11
+ innerCircleStrokeWidth: x,
12
+ diameter: R,
13
+ arc: a,
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(
20
+ C,
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,
30
+ {
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
40
+ }
34
41
  );
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
- };
46
- };
42
+ }
47
43
  export {
48
- v as areSegmentsValid,
49
- x as getSegmentCoordinates
44
+ E as DiscreteMeterNeedle
50
45
  };
51
46
  //# sourceMappingURL=sd-component-library207.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library207.js","sources":["../src/components/meters/donut-diagram/utils.ts"],"sourcesContent":["import { getCoordinateForArc } from \"../outline-meter/utils\";\nimport { DonutSegment } from \"./interfaces\";\n\nexport const areSegmentsValid = (\n segments: Pick<DonutSegment, \"start\" | \"end\">[]\n): boolean => {\n const receivedSegments = `Received ${segments.map(\n ({ start, end }) => `(${start},${end})`\n )}`;\n const showError = (text: string) => console.error(text, receivedSegments);\n\n if (\n segments.some(({ start, end }) =>\n [start, end].some((point) => point < 0 || point > 1)\n )\n ) {\n showError(\"Segment values should be between 0 and 1\");\n return false;\n }\n\n if (\n segments.reduce<number>(\n (acc, { start }) => acc + (start === 0 ? 1 : 0),\n 0\n ) !== 1\n ) {\n showError(\"One segment should start from 0\");\n return false;\n }\n\n if (\n segments.reduce<number>((acc, { end }) => acc + (end === 1 ? 1 : 0), 0) !==\n 1\n ) {\n showError(\"One segment should end by 1\");\n return false;\n }\n\n if (segments.some(({ start, end }) => start >= end)) {\n showError(\"Segment start should be smaller than end\");\n return false;\n }\n\n for (let i = 1; i < segments.length; i++) {\n const currentSegment = segments[i];\n const prevSegment = segments[i - 1];\n if (prevSegment.end !== currentSegment.start) {\n showError(\"Previous segment end should be equal to next segment start\");\n return false;\n }\n }\n\n return true;\n};\n\nexport const getSegmentCoordinates = (\n { start, end }: Pick<DonutSegment, \"start\" | \"end\">,\n radius: number,\n segmentWidth: number\n) => {\n const innerRadius = radius - segmentWidth;\n\n const startAlpha = Math.round(start * 360);\n const endAlpha = Math.round(end * 360);\n const arc = endAlpha - startAlpha;\n\n const { x: startX, y: startY } = getCoordinateForArc(radius, startAlpha);\n const { x: startInnerX, y: startInnerY } = getCoordinateForArc(\n innerRadius,\n startAlpha,\n radius\n );\n\n const { x: endX, y: endY } = getCoordinateForArc(radius, endAlpha);\n const { x: endInnerX, y: endInnerY } = getCoordinateForArc(\n innerRadius,\n endAlpha,\n radius\n );\n return {\n startX,\n startY,\n endX,\n endY,\n startInnerX,\n startInnerY,\n endInnerX,\n endInnerY,\n arc,\n };\n};\n"],"names":["areSegmentsValid","segments","receivedSegments","start","end","showError","text","point","acc","i","currentSegment","getSegmentCoordinates","radius","segmentWidth","innerRadius","startAlpha","endAlpha","arc","startX","startY","getCoordinateForArc","startInnerX","startInnerY","endX","endY","endInnerX","endInnerY"],"mappings":";AAGa,MAAAA,IAAmB,CAC9BC,MACY;AACN,QAAAC,IAAmB,YAAYD,EAAS;AAAA,IAC5C,CAAC,EAAE,OAAAE,GAAO,KAAAC,QAAU,IAAID,CAAK,IAAIC,CAAG;AAAA,EACrC,CAAA,IACKC,IAAY,CAACC,MAAiB,QAAQ,MAAMA,GAAMJ,CAAgB;AAExE,MACED,EAAS;AAAA,IAAK,CAAC,EAAE,OAAAE,GAAO,KAAAC,QACtB,CAACD,GAAOC,CAAG,EAAE,KAAK,CAACG,MAAUA,IAAQ,KAAKA,IAAQ,CAAC;AAAA,EAAA;AAGrD,WAAAF,EAAU,0CAA0C,GAC7C;AAGT,MACEJ,EAAS;AAAA,IACP,CAACO,GAAK,EAAE,OAAAL,QAAYK,KAAOL,MAAU,IAAI,IAAI;AAAA,IAC7C;AAAA,QACI;AAEN,WAAAE,EAAU,iCAAiC,GACpC;AAGT,MACEJ,EAAS,OAAe,CAACO,GAAK,EAAE,KAAAJ,EAAI,MAAMI,KAAOJ,MAAQ,IAAI,IAAI,IAAI,CAAC,MACtE;AAEA,WAAAC,EAAU,6BAA6B,GAChC;AAGL,MAAAJ,EAAS,KAAK,CAAC,EAAE,OAAAE,GAAO,KAAAC,QAAUD,KAASC,CAAG;AAChD,WAAAC,EAAU,0CAA0C,GAC7C;AAGT,WAASI,IAAI,GAAGA,IAAIR,EAAS,QAAQQ,KAAK;AAClC,UAAAC,IAAiBT,EAASQ,CAAC;AAE7B,QADgBR,EAASQ,IAAI,CAAC,EAClB,QAAQC,EAAe;AACrC,aAAAL,EAAU,4DAA4D,GAC/D;AAAA,EAEX;AAEO,SAAA;AACT,GAEaM,IAAwB,CACnC,EAAE,OAAAR,GAAO,KAAAC,EAAI,GACbQ,GACAC,MACG;AACH,QAAMC,IAAcF,IAASC,GAEvBE,IAAa,KAAK,MAAMZ,IAAQ,GAAG,GACnCa,IAAW,KAAK,MAAMZ,IAAM,GAAG,GAC/Ba,IAAMD,IAAWD,GAEjB,EAAE,GAAGG,GAAQ,GAAGC,MAAWC,EAAoBR,GAAQG,CAAU,GACjE,EAAE,GAAGM,GAAa,GAAGC,EAAgB,IAAAF;AAAA,IACzCN;AAAA,IACAC;AAAA,IACAH;AAAA,EAAA,GAGI,EAAE,GAAGW,GAAM,GAAGC,MAASJ,EAAoBR,GAAQI,CAAQ,GAC3D,EAAE,GAAGS,GAAW,GAAGC,EAAc,IAAAN;AAAA,IACrCN;AAAA,IACAE;AAAA,IACAJ;AAAA,EAAA;AAEK,SAAA;AAAA,IACL,QAAAM;AAAA,IACA,QAAAC;AAAA,IACA,MAAAI;AAAA,IACA,MAAAC;AAAA,IACA,aAAAH;AAAA,IACA,aAAAC;AAAA,IACA,WAAAG;AAAA,IACA,WAAAC;AAAA,IACA,KAAAT;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"sd-component-library207.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,78 +1,16 @@
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-library207.js";
5
- import { SegmentLabel as q } from "./sd-component-library284.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,
1
+ import { j as g } from "./sd-component-library169.js";
2
+ import { getRangeProperties as d } from "./sd-component-library267.js";
3
+ import { MatchedRangeLabelBox as x } from "./sd-component-library263.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,
27
9
  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
- ] });
10
+ ), c = Math.round((o + s) / 2);
11
+ return /* @__PURE__ */ g.jsx(x, { ...e, alpha: c, round: !0 });
74
12
  };
75
13
  export {
76
- G as Segment
14
+ h as MatchedRangeLabelBox
77
15
  };
78
16
  //# sourceMappingURL=sd-component-library208.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library208.js","sources":["../src/components/meters/donut-diagram/partials/segment/segment.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { useHover } from \"../../../../../core/custom-hooks\";\nimport { getCoordinateForArc } from \"../../../outline-meter/utils\";\nimport { getSegmentCoordinates } from \"../../utils\";\nimport { SegmentLabel } from \"../segment-label\";\nimport { SegmentProps as Props } from \"./interfaces\";\n\nconst animationDuration = 300;\n\nexport const Segment: React.FC<Props> = ({\n segment,\n segmentWidth,\n outlineWidth,\n size: diameter,\n mobile,\n ...labelProps\n}) => {\n const { start, end, color } = segment;\n const { labelOffset } = labelProps;\n\n const radius = diameter / 2;\n const innerRadius = radius - segmentWidth;\n\n const {\n startInnerX,\n startInnerY,\n endInnerX,\n endInnerY,\n endX,\n endY,\n startY,\n startX,\n arc,\n } = getSegmentCoordinates(segment, radius, segmentWidth);\n\n const center = diameter / 2;\n\n const startAlpha = Math.round(start * 360);\n const endAlpha = Math.round(end * 360);\n\n const { isHover, hoverCallbacks } = useHover();\n const showHover = isHover && !mobile;\n\n const maxRadius = Math.sqrt(2) * (radius + labelOffset);\n\n const { x: maskStartX, y: maskStartY } = getCoordinateForArc(\n maxRadius,\n startAlpha,\n radius\n );\n\n const { x: maskEndX, y: maskEndY } = getCoordinateForArc(\n maxRadius,\n endAlpha,\n radius\n );\n\n return (\n <g {...(mobile ? {} : hoverCallbacks)}>\n {/* mask */}\n <path\n d={`M${center},${center} L${maskStartX},${maskStartY} A${maxRadius},${maxRadius} 0 ${\n arc > 180 ? \"1\" : \"0\"\n },1 ${maskEndX},${maskEndY}Z`}\n fill=\"transparent\"\n />\n\n {/* colored sector */}\n <path\n d={`M${center},${center} L${startX},${startY} A${radius},${radius} 0 ${\n arc > 180 ? \"1\" : \"0\"\n },1 ${endX},${endY}Z`}\n fill={color}\n strokeWidth={outlineWidth}\n stroke=\"white\"\n />\n\n {/* white inner sector */}\n <path\n d={`M${center},${center} L${startInnerX},${startInnerY} A${innerRadius},${innerRadius} 0 ${\n arc > 180 ? \"1\" : \"0\"\n },1 ${endInnerX},${endInnerY}Z`}\n fill=\"white\"\n style={{\n transform: `scale(${showHover ? 0.8 : 1}`,\n transformOrigin: \"center\",\n transition: `all ${animationDuration}ms`,\n }}\n />\n\n <SegmentLabel\n segment={segment}\n radius={radius}\n animationDuration={animationDuration}\n isHover={showHover}\n mobile={mobile}\n {...labelProps}\n />\n </g>\n );\n};\n"],"names":["animationDuration","Segment","segment","segmentWidth","outlineWidth","diameter","mobile","labelProps","start","end","color","labelOffset","radius","innerRadius","startInnerX","startInnerY","endInnerX","endInnerY","endX","endY","startY","startX","arc","getSegmentCoordinates","center","startAlpha","endAlpha","isHover","hoverCallbacks","useHover","showHover","maxRadius","maskStartX","maskStartY","getCoordinateForArc","maskEndX","maskEndY","jsx","SegmentLabel"],"mappings":";;;;;AAQA,MAAMA,IAAoB,KAEbC,IAA2B,CAAC;AAAA,EACvC,SAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,MAAMC;AAAA,EACN,QAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,EAAE,OAAAC,GAAO,KAAAC,GAAK,OAAAC,EAAA,IAAUR,GACxB,EAAE,aAAAS,EAAgB,IAAAJ,GAElBK,IAASP,IAAW,GACpBQ,IAAcD,IAAST,GAEvB;AAAA,IACJ,aAAAW;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,MAAAC;AAAA,IACA,MAAAC;AAAA,IACA,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,KAAAC;AAAA,EACE,IAAAC,EAAsBrB,GAASU,GAAQT,CAAY,GAEjDqB,IAASnB,IAAW,GAEpBoB,IAAa,KAAK,MAAMjB,IAAQ,GAAG,GACnCkB,IAAW,KAAK,MAAMjB,IAAM,GAAG,GAE/B,EAAE,SAAAkB,GAAS,gBAAAC,EAAe,IAAIC,EAAS,GACvCC,IAAYH,KAAW,CAACrB,GAExByB,IAAY,KAAK,KAAK,CAAC,KAAKnB,IAASD,IAErC,EAAE,GAAGqB,GAAY,GAAGC,EAAe,IAAAC;AAAA,IACvCH;AAAA,IACAN;AAAA,IACAb;AAAA,EAAA,GAGI,EAAE,GAAGuB,GAAU,GAAGC,EAAa,IAAAF;AAAA,IACnCH;AAAA,IACAL;AAAA,IACAd;AAAA,EAAA;AAGF,gCACG,KAAG,EAAA,GAAIN,IAAS,KAAKsB,GAEpB,UAAA;AAAA,IAAAS,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAG,IAAIb,CAAM,IAAIA,CAAM,KAAKQ,CAAU,IAAIC,CAAU,KAAKF,CAAS,IAAIA,CAAS,MAC7ET,IAAM,MAAM,MAAM,GACpB,MAAMa,CAAQ,IAAIC,CAAQ;AAAA,QAC1B,MAAK;AAAA,MAAA;AAAA,IACP;AAAA,IAGAC,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAG,IAAIb,CAAM,IAAIA,CAAM,KAAKH,CAAM,IAAID,CAAM,KAAKR,CAAM,IAAIA,CAAM,MAC/DU,IAAM,MAAM,MAAM,GACpB,MAAMJ,CAAI,IAAIC,CAAI;AAAA,QAClB,MAAMT;AAAA,QACN,aAAaN;AAAA,QACb,QAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAGAiC,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAG,IAAIb,CAAM,IAAIA,CAAM,KAAKV,CAAW,IAAIC,CAAW,KAAKF,CAAW,IAAIA,CAAW,MACnFS,IAAM,MAAM,MAAM,GACpB,MAAMN,CAAS,IAAIC,CAAS;AAAA,QAC5B,MAAK;AAAA,QACL,OAAO;AAAA,UACL,WAAW,SAASa,IAAY,MAAM,CAAC;AAAA,UACvC,iBAAiB;AAAA,UACjB,YAAY,OAAO9B,CAAiB;AAAA,QACtC;AAAA,MAAA;AAAA,IACF;AAAA,IAEAqC,gBAAAA,EAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAAApC;AAAA,QACA,QAAAU;AAAA,QACA,mBAAAZ;AAAA,QACA,SAAS8B;AAAA,QACT,QAAAxB;AAAA,QACC,GAAGC;AAAA,MAAA;AAAA,IACN;AAAA,EACF,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"sd-component-library208.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,9 +1,9 @@
1
1
  import { j as r } from "./sd-component-library169.js";
2
- import { Link as X } from "react-router-dom";
3
- import { Button as Y, Flex as Z } from "rebass";
4
- import { generateTestLocator as tt } from "./sd-component-library4.js";
5
- import { LoadingSpinner as ot } from "./sd-component-library228.js";
6
- function et(t, o, e) {
2
+ import { Link as Y } from "react-router-dom";
3
+ import { Button as Z, Flex as tt } from "rebass";
4
+ import { generateTestLocator as ot } from "./sd-component-library4.js";
5
+ import { LoadingSpinner as et } from "./sd-component-library178.js";
6
+ function rt(t, o, e) {
7
7
  return (n) => {
8
8
  t == null || t(n), o && (`#${o}` !== window.location.hash && (e != null && e.replace(
9
9
  `${window.location.pathname.split("#")[0]}#${o}`
@@ -14,7 +14,7 @@ function et(t, o, e) {
14
14
  )), window.dispatchEvent(new HashChangeEvent("hashchange")));
15
15
  };
16
16
  }
17
- const rt = ({
17
+ const nt = ({
18
18
  link: t,
19
19
  isInternal: o = !0,
20
20
  children: e,
@@ -30,7 +30,7 @@ const rt = ({
30
30
  ...d
31
31
  };
32
32
  return t === void 0 ? /* @__PURE__ */ r.jsx(r.Fragment, { children: e }) : o ? /* @__PURE__ */ r.jsx(
33
- X,
33
+ Y,
34
34
  {
35
35
  to: t,
36
36
  style: s,
@@ -50,7 +50,7 @@ const rt = ({
50
50
  children: e
51
51
  }
52
52
  );
53
- }, st = (t) => {
53
+ }, pt = (t) => {
54
54
  const {
55
55
  link: o,
56
56
  isInternal: e = !0,
@@ -68,8 +68,8 @@ const rt = ({
68
68
  hoverFontWeight: g,
69
69
  hoverTextDecoration: v,
70
70
  borderRadius: w,
71
- width: S,
72
- height: y,
71
+ width: y,
72
+ height: S,
73
73
  borderStyle: k,
74
74
  borderWidth: j,
75
75
  borderColor: B,
@@ -95,18 +95,19 @@ const rt = ({
95
95
  testLocatorId: K,
96
96
  tooltipText: p,
97
97
  tooltipPlacement: i = "bottom",
98
- linkStyle: N
98
+ linkStyle: N,
99
+ type: O
99
100
  } = t, {
100
101
  loading: c = !1,
101
- loadingIconProps: O = {},
102
- onHover: Q,
103
- sx: U,
104
- ...V
102
+ loadingIconProps: Q = {},
103
+ onHover: U,
104
+ sx: V,
105
+ ...X
105
106
  } = t;
106
107
  if (o !== void 0 && a !== void 0)
107
108
  throw new Error("Cannot have link and onClick at the same time");
108
109
  return /* @__PURE__ */ r.jsx(
109
- rt,
110
+ nt,
110
111
  {
111
112
  link: o,
112
113
  isInternal: e,
@@ -115,11 +116,11 @@ const rt = ({
115
116
  onLinkClick: J,
116
117
  linkStyle: N,
117
118
  children: /* @__PURE__ */ r.jsx(
118
- Y,
119
+ Z,
119
120
  {
120
121
  "data-testid": "button",
121
- ...tt(K),
122
- ...V,
122
+ ...ot(K),
123
+ ...X,
123
124
  variant: s,
124
125
  sx: {
125
126
  position: "relative",
@@ -131,8 +132,8 @@ const rt = ({
131
132
  letterSpacing: f,
132
133
  textDecoration: b,
133
134
  textTransform: u,
134
- width: S,
135
- height: y,
135
+ width: y,
136
+ height: S,
136
137
  borderRadius: w,
137
138
  borderStyle: k,
138
139
  borderWidth: j,
@@ -190,19 +191,20 @@ const rt = ({
190
191
  } : {}
191
192
  },
192
193
  zIndex: A,
193
- ...U
194
+ ...V
194
195
  },
195
- onClick: o === void 0 ? et(a, n, _) : () => {
196
+ onClick: o === void 0 ? rt(a, n, _) : () => {
196
197
  },
197
- onMouseEnter: Q,
198
+ onMouseEnter: U,
198
199
  disabled: d || c,
199
- children: c ? /* @__PURE__ */ r.jsx(Z, { height: "100%", justifyContent: "center", alignItems: "center", children: /* @__PURE__ */ r.jsx(ot, { ...O }) }) : l
200
+ type: O,
201
+ children: c ? /* @__PURE__ */ r.jsx(tt, { height: "100%", justifyContent: "center", alignItems: "center", children: /* @__PURE__ */ r.jsx(et, { ...Q }) }) : l
200
202
  }
201
203
  )
202
204
  }
203
205
  );
204
206
  };
205
207
  export {
206
- st as Button
208
+ pt as Button
207
209
  };
208
210
  //# sourceMappingURL=sd-component-library21.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library21.js","sources":["../src/components/buttons/button/button.tsx"],"sourcesContent":["import React from \"react\";\nimport { Link } from \"react-router-dom\";\n\nimport { History } from \"history\";\nimport { Flex, Button as RebassButton } from \"rebass\";\n\nimport { generateTestLocator } from \"../../../core/functions\";\nimport { LoadingSpinner } from \"../../animations/loading-spinner\";\nimport { ButtonProps } from \"./interfaces\";\n\n/**\n * A wrapper to handle various click behaviours for buttons.\n *\n * @param history The history object for navigation.\n * @param onClick The call back to run on button click.\n * @param link The location to navigate to if the button is a link.\n * @param scrollTo The section of the page to scroll to.\n *\n * @returns The on click call back.\n */\nfunction clickWrapper(\n onClick?: ButtonProps[\"onClick\"],\n scrollTo?: string,\n history?: History\n): (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void {\n return (_event: React.MouseEvent<HTMLButtonElement, MouseEvent>): void => {\n onClick?.(_event);\n\n if (scrollTo) {\n // If current hash is not same as new hash, update the hash\n if (`#${scrollTo}` !== window.location.hash)\n history?.replace(\n `${window.location.pathname.split(\"#\")[0]}#${scrollTo}`\n ) ||\n window.history.replaceState(\n undefined,\n \"\",\n `${window.location.pathname.split(\"#\")[0]}#${scrollTo}`\n );\n // Otherwise forcefully dispatch a `hashchange` event to scroll.\n window.dispatchEvent(new HashChangeEvent(\"hashchange\"));\n }\n };\n}\n\nconst ButtonWrapper: React.FC<\n Pick<\n ButtonProps,\n | \"link\"\n | \"isInternal\"\n | \"children\"\n | \"target\"\n | \"rel\"\n | \"onLinkClick\"\n | \"linkStyle\"\n >\n> = ({\n link,\n isInternal = true,\n children,\n target = \"_self\",\n rel = \"noopener noreferrer\",\n onLinkClick,\n linkStyle: externalLinkStyle,\n}) => {\n const linkStyle: React.CSSProperties = {\n display: \"grid\",\n color: \"inherit\",\n textDecoration: \"none\",\n ...externalLinkStyle,\n };\n\n return link === undefined ? (\n <>{children}</>\n ) : isInternal ? (\n <Link\n to={link}\n style={linkStyle}\n data-testid=\"react-router-link\"\n onClick={onLinkClick}\n >\n {children}\n </Link>\n ) : (\n <a\n href={link}\n target={target}\n rel={rel}\n style={linkStyle}\n onClick={onLinkClick}\n data-testid=\"anchor-tag\"\n >\n {children}\n </a>\n );\n};\n\n/**\n * Base button component. Other button components should be built from this.\n */\nexport const Button: React.FC<ButtonProps> = (props) => {\n const {\n link,\n isInternal = true,\n scrollTo,\n onClick,\n children,\n disabled,\n variant,\n padding,\n fontSize,\n fontWeight,\n letterSpacing,\n textDecoration,\n textTransform,\n hoverFontWeight,\n hoverTextDecoration,\n borderRadius,\n width,\n height,\n borderStyle,\n borderWidth,\n borderColor,\n fill,\n color,\n bg,\n stroke,\n hoverBorderStyle,\n hoverBorderWidth,\n hoverBorderColor,\n hoverFill,\n hoverColor,\n hoverBg,\n hoverStroke,\n display,\n transition,\n history,\n zIndex,\n cursor = \"pointer\",\n rel,\n target,\n onLinkClick,\n testLocatorId,\n tooltipText,\n tooltipPlacement = \"bottom\",\n linkStyle,\n } = props;\n\n const {\n loading = false,\n loadingIconProps = {},\n onHover,\n sx,\n ...actualProps\n } = props;\n\n if (link !== undefined && onClick !== undefined) {\n throw new Error(\"Cannot have link and onClick at the same time\");\n }\n\n return (\n <ButtonWrapper\n link={link}\n isInternal={isInternal}\n rel={rel}\n target={target}\n onLinkClick={onLinkClick}\n linkStyle={linkStyle}\n >\n <RebassButton\n data-testid=\"button\"\n {...generateTestLocator(testLocatorId)}\n {...actualProps}\n variant={variant}\n sx={{\n position: \"relative\",\n display,\n padding,\n fontFamily: \"proxima-nova\",\n fontSize,\n fontWeight,\n letterSpacing,\n textDecoration,\n textTransform,\n width,\n height,\n borderRadius,\n borderStyle,\n borderWidth,\n borderColor,\n fill,\n stroke,\n color,\n bg,\n outline: \"none !important\",\n transition,\n ...(!!tooltipText\n ? {\n \"::after\": {\n position: \"absolute\",\n opacity: 0,\n pointerEvents: \"none\",\n content: `\"${tooltipText}\"`,\n color: \"cl_darkGrey\",\n textTransform: \"none\",\n letterSpacing: 0,\n left: \"50%\",\n top:\n tooltipPlacement === \"bottom\"\n ? \"calc(100% + 10px)\"\n : \"-10px\",\n borderRadius:\n tooltipPlacement === \"bottom\"\n ? \"0 0 3px 3px\"\n : \"3px 3px 0 0\",\n boxShadow: \"0 0 5px 2px #0000001A\",\n [tooltipPlacement === \"bottom\"\n ? \"borderTop\"\n : \"borderBottom\"]: \"2px solid\",\n borderColor: \"cl_purple\",\n bg: \"white\",\n zIndex: 10,\n padding: \"8px\",\n width: \"max-content\",\n maxWidth: \"100%\",\n transform: `translate(-50%, ${\n tooltipPlacement === \"bottom\" ? \"-20px\" : \"-50%\"\n })`,\n transition: \"all 150ms cubic-bezier(.25, .8, .25, 1)\",\n fontSize: \"14px\",\n fontWeight: 400,\n lineHeight: \"17px\",\n },\n }\n : {}),\n \":hover\": {\n cursor: disabled ? \"default\" : cursor,\n borderStyle: hoverBorderStyle,\n borderWidth: hoverBorderWidth,\n borderColor: hoverBorderColor,\n fill: hoverFill,\n stroke: hoverStroke,\n color: hoverColor,\n bg: hoverBg,\n hoverFontWeight,\n hoverTextDecoration,\n ...(!!tooltipText\n ? {\n \"::after\": {\n opacity: 1,\n transform: `translate(-50%, ${\n tooltipPlacement === \"bottom\" ? 0 : \"-100%\"\n })`,\n transitionDuration: \"300ms\",\n },\n }\n : {}),\n },\n zIndex,\n ...sx,\n }}\n onClick={\n link === undefined\n ? clickWrapper(onClick, scrollTo, history)\n : () => {}\n }\n onMouseEnter={onHover}\n disabled={disabled || loading}\n >\n {!loading ? (\n children\n ) : (\n <Flex height=\"100%\" justifyContent=\"center\" alignItems=\"center\">\n <LoadingSpinner {...loadingIconProps} />\n </Flex>\n )}\n </RebassButton>\n </ButtonWrapper>\n );\n};\n"],"names":["clickWrapper","onClick","scrollTo","history","_event","ButtonWrapper","link","isInternal","children","target","rel","onLinkClick","externalLinkStyle","linkStyle","jsx","Fragment","Link","Button","props","disabled","variant","padding","fontSize","fontWeight","letterSpacing","textDecoration","textTransform","hoverFontWeight","hoverTextDecoration","borderRadius","width","height","borderStyle","borderWidth","borderColor","fill","color","bg","stroke","hoverBorderStyle","hoverBorderWidth","hoverBorderColor","hoverFill","hoverColor","hoverBg","hoverStroke","display","transition","zIndex","cursor","testLocatorId","tooltipText","tooltipPlacement","loading","loadingIconProps","onHover","sx","actualProps","RebassButton","generateTestLocator","Flex","LoadingSpinner"],"mappings":";;;;;AAoBA,SAASA,GACPC,GACAC,GACAC,GACkE;AAClE,SAAO,CAACC,MAAkE;AACxE,IAAAH,KAAA,QAAAA,EAAUG,IAENF,MAEE,IAAIA,CAAQ,OAAO,OAAO,SAAS,SAC5BC,KAAA,QAAAA,EAAA;AAAA,MACP,GAAG,OAAO,SAAS,SAAS,MAAM,GAAG,EAAE,CAAC,CAAC,IAAID,CAAQ;AAAA,SAErD,OAAO,QAAQ;AAAA,MACb;AAAA,MACA;AAAA,MACA,GAAG,OAAO,SAAS,SAAS,MAAM,GAAG,EAAE,CAAC,CAAC,IAAIA,CAAQ;AAAA,IAAA,IAG3D,OAAO,cAAc,IAAI,gBAAgB,YAAY,CAAC;AAAA,EACxD;AAEJ;AAEA,MAAMG,KAWF,CAAC;AAAA,EACH,MAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,UAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,KAAAC,IAAM;AAAA,EACN,aAAAC;AAAA,EACA,WAAWC;AACb,MAAM;AACJ,QAAMC,IAAiC;AAAA,IACrC,SAAS;AAAA,IACT,OAAO;AAAA,IACP,gBAAgB;AAAA,IAChB,GAAGD;AAAA,EAAA;AAGL,SAAON,MAAS,SACXQ,gBAAAA,EAAA,IAAAC,EAAA,UAAA,EAAA,UAAAP,EAAA,CAAS,IACVD,IACFO,gBAAAA,EAAA;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,IAAIV;AAAA,MACJ,OAAOO;AAAA,MACP,eAAY;AAAA,MACZ,SAASF;AAAA,MAER,UAAAH;AAAA,IAAA;AAAA,EAAA,IAGHM,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAMR;AAAA,MACN,QAAAG;AAAA,MACA,KAAAC;AAAA,MACA,OAAOG;AAAA,MACP,SAASF;AAAA,MACT,eAAY;AAAA,MAEX,UAAAH;AAAA,IAAA;AAAA,EAAA;AAGP,GAKaS,KAAgC,CAACC,MAAU;AAChD,QAAA;AAAA,IACJ,MAAAZ;AAAA,IACA,YAAAC,IAAa;AAAA,IACb,UAAAL;AAAA,IACA,SAAAD;AAAA,IACA,UAAAO;AAAA,IACA,UAAAW;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,IAAAC;AAAA,IACA,QAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,YAAAC;AAAA,IACA,SAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,SAAA5C;AAAA,IACA,QAAA6C;AAAA,IACA,QAAAC,IAAS;AAAA,IACT,KAAAvC;AAAA,IACA,QAAAD;AAAA,IACA,aAAAE;AAAA,IACA,eAAAuC;AAAA,IACA,aAAAC;AAAA,IACA,kBAAAC,IAAmB;AAAA,IACnB,WAAAvC;AAAA,EACE,IAAAK,GAEE;AAAA,IACJ,SAAAmC,IAAU;AAAA,IACV,kBAAAC,IAAmB,CAAC;AAAA,IACpB,SAAAC;AAAA,IACA,IAAAC;AAAA,IACA,GAAGC;AAAA,EACD,IAAAvC;AAEA,MAAAZ,MAAS,UAAaL,MAAY;AAC9B,UAAA,IAAI,MAAM,+CAA+C;AAI/D,SAAAa,gBAAAA,EAAA;AAAA,IAACT;AAAA,IAAA;AAAA,MACC,MAAAC;AAAA,MACA,YAAAC;AAAA,MACA,KAAAG;AAAA,MACA,QAAAD;AAAA,MACA,aAAAE;AAAA,MACA,WAAAE;AAAA,MAEA,UAAAC,gBAAAA,EAAA;AAAA,QAAC4C;AAAAA,QAAA;AAAA,UACC,eAAY;AAAA,UACX,GAAGC,GAAoBT,CAAa;AAAA,UACpC,GAAGO;AAAA,UACJ,SAAArC;AAAA,UACA,IAAI;AAAA,YACF,UAAU;AAAA,YACV,SAAA0B;AAAA,YACA,SAAAzB;AAAA,YACA,YAAY;AAAA,YACZ,UAAAC;AAAA,YACA,YAAAC;AAAA,YACA,eAAAC;AAAA,YACA,gBAAAC;AAAA,YACA,eAAAC;AAAA,YACA,OAAAI;AAAA,YACA,QAAAC;AAAA,YACA,cAAAF;AAAA,YACA,aAAAG;AAAA,YACA,aAAAC;AAAA,YACA,aAAAC;AAAA,YACA,MAAAC;AAAA,YACA,QAAAG;AAAA,YACA,OAAAF;AAAA,YACA,IAAAC;AAAA,YACA,SAAS;AAAA,YACT,YAAAU;AAAA,YACA,GAAMI,IACF;AAAA,cACE,WAAW;AAAA,gBACT,UAAU;AAAA,gBACV,SAAS;AAAA,gBACT,eAAe;AAAA,gBACf,SAAS,IAAIA,CAAW;AAAA,gBACxB,OAAO;AAAA,gBACP,eAAe;AAAA,gBACf,eAAe;AAAA,gBACf,MAAM;AAAA,gBACN,KACEC,MAAqB,WACjB,sBACA;AAAA,gBACN,cACEA,MAAqB,WACjB,gBACA;AAAA,gBACN,WAAW;AAAA,gBACX,CAACA,MAAqB,WAClB,cACA,cAAc,GAAG;AAAA,gBACrB,aAAa;AAAA,gBACb,IAAI;AAAA,gBACJ,QAAQ;AAAA,gBACR,SAAS;AAAA,gBACT,OAAO;AAAA,gBACP,UAAU;AAAA,gBACV,WAAW,mBACTA,MAAqB,WAAW,UAAU,MAC5C;AAAA,gBACA,YAAY;AAAA,gBACZ,UAAU;AAAA,gBACV,YAAY;AAAA,gBACZ,YAAY;AAAA,cACd;AAAA,YAAA,IAEF,CAAC;AAAA,YACL,UAAU;AAAA,cACR,QAAQjC,IAAW,YAAY8B;AAAA,cAC/B,aAAaV;AAAA,cACb,aAAaC;AAAA,cACb,aAAaC;AAAA,cACb,MAAMC;AAAA,cACN,QAAQG;AAAA,cACR,OAAOF;AAAA,cACP,IAAIC;AAAA,cACJ,iBAAAjB;AAAA,cACA,qBAAAC;AAAA,cACA,GAAMuB,IACF;AAAA,gBACE,WAAW;AAAA,kBACT,SAAS;AAAA,kBACT,WAAW,mBACTC,MAAqB,WAAW,IAAI,OACtC;AAAA,kBACA,oBAAoB;AAAA,gBACtB;AAAA,cAAA,IAEF,CAAC;AAAA,YACP;AAAA,YACA,QAAAJ;AAAA,YACA,GAAGQ;AAAA,UACL;AAAA,UACA,SACElD,MAAS,SACLN,GAAaC,GAASC,GAAUC,CAAO,IACvC,MAAM;AAAA,UAAC;AAAA,UAEb,cAAcoD;AAAA,UACd,UAAUpC,KAAYkC;AAAA,UAErB,UAACA,IAGAvC,gBAAAA,EAAAA,IAAC8C,KAAK,QAAO,QAAO,gBAAe,UAAS,YAAW,UACrD,UAAA9C,gBAAAA,EAAA,IAAC+C,IAAgB,EAAA,GAAGP,EAAkB,CAAA,GACxC,IAJA9C;AAAA,QAIA;AAAA,MAEJ;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"sd-component-library21.js","sources":["../src/components/buttons/button/button.tsx"],"sourcesContent":["import React from \"react\";\nimport { Link } from \"react-router-dom\";\n\nimport { History } from \"history\";\nimport { Flex, Button as RebassButton } from \"rebass\";\n\nimport { generateTestLocator } from \"../../../core/functions\";\nimport { LoadingSpinner } from \"../../animations/loading-spinner\";\nimport { ButtonProps } from \"./interfaces\";\n\n/**\n * A wrapper to handle various click behaviours for buttons.\n *\n * @param history The history object for navigation.\n * @param onClick The call back to run on button click.\n * @param link The location to navigate to if the button is a link.\n * @param scrollTo The section of the page to scroll to.\n *\n * @returns The on click call back.\n */\nfunction clickWrapper(\n onClick?: ButtonProps[\"onClick\"],\n scrollTo?: string,\n history?: History\n): (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void {\n return (_event: React.MouseEvent<HTMLButtonElement, MouseEvent>): void => {\n onClick?.(_event);\n\n if (scrollTo) {\n // If current hash is not same as new hash, update the hash\n if (`#${scrollTo}` !== window.location.hash)\n history?.replace(\n `${window.location.pathname.split(\"#\")[0]}#${scrollTo}`\n ) ||\n window.history.replaceState(\n undefined,\n \"\",\n `${window.location.pathname.split(\"#\")[0]}#${scrollTo}`\n );\n // Otherwise forcefully dispatch a `hashchange` event to scroll.\n window.dispatchEvent(new HashChangeEvent(\"hashchange\"));\n }\n };\n}\n\nconst ButtonWrapper: React.FC<\n Pick<\n ButtonProps,\n | \"link\"\n | \"isInternal\"\n | \"children\"\n | \"target\"\n | \"rel\"\n | \"onLinkClick\"\n | \"linkStyle\"\n >\n> = ({\n link,\n isInternal = true,\n children,\n target = \"_self\",\n rel = \"noopener noreferrer\",\n onLinkClick,\n linkStyle: externalLinkStyle,\n}) => {\n const linkStyle: React.CSSProperties = {\n display: \"grid\",\n color: \"inherit\",\n textDecoration: \"none\",\n ...externalLinkStyle,\n };\n\n return link === undefined ? (\n <>{children}</>\n ) : isInternal ? (\n <Link\n to={link}\n style={linkStyle}\n data-testid=\"react-router-link\"\n onClick={onLinkClick}\n >\n {children}\n </Link>\n ) : (\n <a\n href={link}\n target={target}\n rel={rel}\n style={linkStyle}\n onClick={onLinkClick}\n data-testid=\"anchor-tag\"\n >\n {children}\n </a>\n );\n};\n\n/**\n * Base button component. Other button components should be built from this.\n */\nexport const Button: React.FC<ButtonProps> = (props) => {\n const {\n link,\n isInternal = true,\n scrollTo,\n onClick,\n children,\n disabled,\n variant,\n padding,\n fontSize,\n fontWeight,\n letterSpacing,\n textDecoration,\n textTransform,\n hoverFontWeight,\n hoverTextDecoration,\n borderRadius,\n width,\n height,\n borderStyle,\n borderWidth,\n borderColor,\n fill,\n color,\n bg,\n stroke,\n hoverBorderStyle,\n hoverBorderWidth,\n hoverBorderColor,\n hoverFill,\n hoverColor,\n hoverBg,\n hoverStroke,\n display,\n transition,\n history,\n zIndex,\n cursor = \"pointer\",\n rel,\n target,\n onLinkClick,\n testLocatorId,\n tooltipText,\n tooltipPlacement = \"bottom\",\n linkStyle,\n type,\n } = props;\n\n const {\n loading = false,\n loadingIconProps = {},\n onHover,\n sx,\n ...actualProps\n } = props;\n\n if (link !== undefined && onClick !== undefined) {\n throw new Error(\"Cannot have link and onClick at the same time\");\n }\n\n return (\n <ButtonWrapper\n link={link}\n isInternal={isInternal}\n rel={rel}\n target={target}\n onLinkClick={onLinkClick}\n linkStyle={linkStyle}\n >\n <RebassButton\n data-testid=\"button\"\n {...generateTestLocator(testLocatorId)}\n {...actualProps}\n variant={variant}\n sx={{\n position: \"relative\",\n display,\n padding,\n fontFamily: \"proxima-nova\",\n fontSize,\n fontWeight,\n letterSpacing,\n textDecoration,\n textTransform,\n width,\n height,\n borderRadius,\n borderStyle,\n borderWidth,\n borderColor,\n fill,\n stroke,\n color,\n bg,\n outline: \"none !important\",\n transition,\n ...(!!tooltipText\n ? {\n \"::after\": {\n position: \"absolute\",\n opacity: 0,\n pointerEvents: \"none\",\n content: `\"${tooltipText}\"`,\n color: \"cl_darkGrey\",\n textTransform: \"none\",\n letterSpacing: 0,\n left: \"50%\",\n top:\n tooltipPlacement === \"bottom\"\n ? \"calc(100% + 10px)\"\n : \"-10px\",\n borderRadius:\n tooltipPlacement === \"bottom\"\n ? \"0 0 3px 3px\"\n : \"3px 3px 0 0\",\n boxShadow: \"0 0 5px 2px #0000001A\",\n [tooltipPlacement === \"bottom\"\n ? \"borderTop\"\n : \"borderBottom\"]: \"2px solid\",\n borderColor: \"cl_purple\",\n bg: \"white\",\n zIndex: 10,\n padding: \"8px\",\n width: \"max-content\",\n maxWidth: \"100%\",\n transform: `translate(-50%, ${\n tooltipPlacement === \"bottom\" ? \"-20px\" : \"-50%\"\n })`,\n transition: \"all 150ms cubic-bezier(.25, .8, .25, 1)\",\n fontSize: \"14px\",\n fontWeight: 400,\n lineHeight: \"17px\",\n },\n }\n : {}),\n \":hover\": {\n cursor: disabled ? \"default\" : cursor,\n borderStyle: hoverBorderStyle,\n borderWidth: hoverBorderWidth,\n borderColor: hoverBorderColor,\n fill: hoverFill,\n stroke: hoverStroke,\n color: hoverColor,\n bg: hoverBg,\n hoverFontWeight,\n hoverTextDecoration,\n ...(!!tooltipText\n ? {\n \"::after\": {\n opacity: 1,\n transform: `translate(-50%, ${\n tooltipPlacement === \"bottom\" ? 0 : \"-100%\"\n })`,\n transitionDuration: \"300ms\",\n },\n }\n : {}),\n },\n zIndex,\n ...sx,\n }}\n onClick={\n link === undefined\n ? clickWrapper(onClick, scrollTo, history)\n : () => {}\n }\n onMouseEnter={onHover}\n disabled={disabled || loading}\n type={type}\n >\n {!loading ? (\n children\n ) : (\n <Flex height=\"100%\" justifyContent=\"center\" alignItems=\"center\">\n <LoadingSpinner {...loadingIconProps} />\n </Flex>\n )}\n </RebassButton>\n </ButtonWrapper>\n );\n};\n"],"names":["clickWrapper","onClick","scrollTo","history","_event","ButtonWrapper","link","isInternal","children","target","rel","onLinkClick","externalLinkStyle","linkStyle","jsx","Fragment","Link","Button","props","disabled","variant","padding","fontSize","fontWeight","letterSpacing","textDecoration","textTransform","hoverFontWeight","hoverTextDecoration","borderRadius","width","height","borderStyle","borderWidth","borderColor","fill","color","bg","stroke","hoverBorderStyle","hoverBorderWidth","hoverBorderColor","hoverFill","hoverColor","hoverBg","hoverStroke","display","transition","zIndex","cursor","testLocatorId","tooltipText","tooltipPlacement","type","loading","loadingIconProps","onHover","sx","actualProps","RebassButton","generateTestLocator","Flex","LoadingSpinner"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { j as s } from "./sd-component-library169.js";
2
2
  import { useRef as g, useState as $, useEffect as b } from "react";
3
3
  import { Box as l } from "rebass";
4
- import { labelPaddingX as o, labelWidth as u } from "./sd-component-library193.js";
4
+ import { labelPaddingX as o, labelWidth as u } from "./sd-component-library196.js";
5
5
  import { ResponsiveTextV2 as v } from "./sd-component-library135.js";
6
6
  const C = (x) => {
7
7
  const {
@@ -1,44 +1,51 @@
1
- import { j as n } from "./sd-component-library169.js";
2
- import g from "./sd-component-library168.js";
3
- import { getSegmentCoordinates as I } from "./sd-component-library207.js";
4
- const w = ({
5
- segment: e,
6
- size: o,
7
- segmentWidth: s,
8
- outlineWidth: c,
9
- isMatching: a
10
- }) => {
11
- const { color: d } = e, t = o / 2, $ = t - s, {
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
34
+ );
35
+ return {
12
36
  startX: l,
13
- startY: m,
14
- arc: i,
15
- startInnerY: p,
16
- startInnerX: h,
17
- endInnerY: u,
18
- endInnerX: x,
19
- endX: f,
20
- endY: j
21
- } = I(e, t, s), r = o / 2;
22
- return /* @__PURE__ */ n.jsxs("g", { children: [
23
- /* @__PURE__ */ n.jsx(
24
- "path",
25
- {
26
- d: `M${r},${r} L${l},${m} A${t},${t} 0 ${i > 180 ? "1" : "0"},1 ${f},${j}Z`,
27
- fill: a ? d : g.colors.cl_lightGrey,
28
- strokeWidth: c,
29
- stroke: "white"
30
- }
31
- ),
32
- /* @__PURE__ */ n.jsx(
33
- "path",
34
- {
35
- d: `M${r},${r} L${h},${p} A${$},${$} 0 ${i > 180 ? "1" : "0"},1 ${x},${u}Z`,
36
- fill: "white"
37
- }
38
- )
39
- ] });
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
+ };
40
46
  };
41
47
  export {
42
- w as CompactDonutGaugeSegment
48
+ v as areSegmentsValid,
49
+ x as getSegmentCoordinates
43
50
  };
44
51
  //# sourceMappingURL=sd-component-library216.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-component-library216.js","sources":["../src/components/meters/compact-donut-gauge/partials/compact-donut-gauge-segment/compact-donut-gauge-segment.tsx"],"sourcesContent":["import React from \"react\";\n\nimport theme from \"../../../../../core/theme\";\nimport { getSegmentCoordinates } from \"../../../donut-diagram/utils\";\nimport { CompactDonutGaugeSegmentProps as Props } from \"./interfaces\";\n\nexport const CompactDonutGaugeSegment: React.FC<Props> = ({\n segment,\n size: diameter,\n segmentWidth,\n outlineWidth,\n isMatching,\n}) => {\n const { color } = segment;\n\n const radius = diameter / 2;\n const innerRadius = radius - segmentWidth;\n\n const {\n startX,\n startY,\n arc,\n startInnerY,\n startInnerX,\n endInnerY,\n endInnerX,\n endX,\n endY,\n } = getSegmentCoordinates(segment, radius, segmentWidth);\n\n const center = diameter / 2;\n\n return (\n <g>\n {/* colored sector */}\n <path\n d={`M${center},${center} L${startX},${startY} A${radius},${radius} 0 ${\n arc > 180 ? \"1\" : \"0\"\n },1 ${endX},${endY}Z`}\n fill={isMatching ? color : theme.colors[\"cl_lightGrey\"]}\n strokeWidth={outlineWidth}\n stroke=\"white\"\n />\n\n {/* white inner sector */}\n <path\n d={`M${center},${center} L${startInnerX},${startInnerY} A${innerRadius},${innerRadius} 0 ${\n arc > 180 ? \"1\" : \"0\"\n },1 ${endInnerX},${endInnerY}Z`}\n fill=\"white\"\n />\n </g>\n );\n};\n"],"names":["CompactDonutGaugeSegment","segment","diameter","segmentWidth","outlineWidth","isMatching","color","radius","innerRadius","startX","startY","arc","startInnerY","startInnerX","endInnerY","endInnerX","endX","endY","getSegmentCoordinates","center","jsx","theme"],"mappings":";;;AAMO,MAAMA,IAA4C,CAAC;AAAA,EACxD,SAAAC;AAAA,EACA,MAAMC;AAAA,EACN,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AACF,MAAM;AACE,QAAA,EAAE,OAAAC,EAAU,IAAAL,GAEZM,IAASL,IAAW,GACpBM,IAAcD,IAASJ,GAEvB;AAAA,IACJ,QAAAM;AAAA,IACA,QAAAC;AAAA,IACA,KAAAC;AAAA,IACA,aAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,MAAAC;AAAA,IACA,MAAAC;AAAA,EACE,IAAAC,EAAsBjB,GAASM,GAAQJ,CAAY,GAEjDgB,IAASjB,IAAW;AAE1B,gCACG,KAEC,EAAA,UAAA;AAAA,IAAAkB,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAG,IAAID,CAAM,IAAIA,CAAM,KAAKV,CAAM,IAAIC,CAAM,KAAKH,CAAM,IAAIA,CAAM,MAC/DI,IAAM,MAAM,MAAM,GACpB,MAAMK,CAAI,IAAIC,CAAI;AAAA,QAClB,MAAMZ,IAAaC,IAAQe,EAAM,OAAO;AAAA,QACxC,aAAajB;AAAA,QACb,QAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAGAgB,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAG,IAAID,CAAM,IAAIA,CAAM,KAAKN,CAAW,IAAID,CAAW,KAAKJ,CAAW,IAAIA,CAAW,MACnFG,IAAM,MAAM,MAAM,GACpB,MAAMI,CAAS,IAAID,CAAS;AAAA,QAC5B,MAAK;AAAA,MAAA;AAAA,IACP;AAAA,EACF,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"sd-component-library216.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;"}