@refinitiv-ui/elements 5.1.0 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/lib/accordion/index.d.ts +1 -1
  3. package/lib/appstate-bar/index.d.ts +1 -1
  4. package/lib/autosuggest/helpers/const.d.ts +1 -0
  5. package/lib/autosuggest/helpers/types.d.ts +22 -0
  6. package/lib/autosuggest/helpers/utils.d.ts +1 -0
  7. package/lib/autosuggest/index.d.ts +1 -1
  8. package/lib/button/index.d.ts +1 -1
  9. package/lib/button/index.js +31 -31
  10. package/lib/button/index.js.map +1 -1
  11. package/lib/button-bar/index.d.ts +1 -1
  12. package/lib/calendar/index.d.ts +1 -1
  13. package/lib/calendar/index.js +1 -1
  14. package/lib/calendar/index.js.map +1 -1
  15. package/lib/calendar/locales.d.ts +1 -0
  16. package/lib/calendar/themes/halo/dark/index.js +1 -1
  17. package/lib/calendar/themes/halo/light/index.js +1 -1
  18. package/lib/calendar/types.d.ts +1 -0
  19. package/lib/calendar/utils.d.ts +1 -0
  20. package/lib/canvas/index.d.ts +1 -1
  21. package/lib/card/custom-elements.json +18 -8
  22. package/lib/card/helpers/types.d.ts +1 -0
  23. package/lib/card/index.d.ts +50 -12
  24. package/lib/card/index.js +112 -23
  25. package/lib/card/index.js.map +1 -1
  26. package/lib/card/themes/halo/dark/index.js +1 -1
  27. package/lib/card/themes/halo/light/index.js +1 -1
  28. package/lib/card/themes/solar/charcoal/index.js +1 -1
  29. package/lib/card/themes/solar/pearl/index.js +1 -1
  30. package/lib/chart/helpers/index.d.ts +1 -0
  31. package/lib/chart/helpers/legend.d.ts +1 -0
  32. package/lib/chart/helpers/merge.d.ts +1 -0
  33. package/lib/chart/helpers/types.d.ts +1 -0
  34. package/lib/chart/index.d.ts +8 -3
  35. package/lib/chart/index.js +20 -4
  36. package/lib/chart/index.js.map +1 -1
  37. package/lib/chart/plugins/doughnut-center-label.d.ts +1 -0
  38. package/lib/checkbox/index.d.ts +1 -1
  39. package/lib/clock/index.d.ts +1 -1
  40. package/lib/clock/utils/TickManager.d.ts +1 -0
  41. package/lib/clock/utils/timestamps.d.ts +1 -0
  42. package/lib/collapse/index.d.ts +1 -1
  43. package/lib/color-dialog/elements/color-palettes.d.ts +1 -1
  44. package/lib/color-dialog/elements/grayscale-palettes.d.ts +1 -1
  45. package/lib/color-dialog/elements/palettes.d.ts +1 -0
  46. package/lib/color-dialog/helpers/color-helpers.d.ts +1 -0
  47. package/lib/color-dialog/helpers/value-model.d.ts +1 -0
  48. package/lib/color-dialog/index.d.ts +1 -1
  49. package/lib/combo-box/helpers/filter.d.ts +1 -0
  50. package/lib/combo-box/helpers/keyboard-event.d.ts +1 -0
  51. package/lib/combo-box/helpers/types.d.ts +1 -0
  52. package/lib/combo-box/index.d.ts +1 -1
  53. package/lib/combo-box/themes/halo/dark/index.js +1 -1
  54. package/lib/combo-box/themes/halo/light/index.js +1 -1
  55. package/lib/counter/custom-elements.json +35 -0
  56. package/lib/counter/index.d.ts +89 -0
  57. package/lib/counter/index.js +156 -0
  58. package/lib/counter/index.js.map +1 -0
  59. package/lib/counter/themes/halo/dark/index.js +3 -0
  60. package/lib/counter/themes/halo/light/index.js +3 -0
  61. package/lib/counter/themes/solar/charcoal/index.js +3 -0
  62. package/lib/counter/themes/solar/pearl/index.js +3 -0
  63. package/lib/counter/utils.d.ts +14 -0
  64. package/lib/counter/utils.js +53 -0
  65. package/lib/counter/utils.js.map +1 -0
  66. package/lib/datetime-picker/custom-elements.json +1 -1
  67. package/lib/datetime-picker/index.d.ts +2 -2
  68. package/lib/datetime-picker/index.js +1 -1
  69. package/lib/datetime-picker/locales.d.ts +1 -0
  70. package/lib/datetime-picker/types.d.ts +1 -0
  71. package/lib/datetime-picker/utils.d.ts +1 -0
  72. package/lib/dialog/draggable-element.d.ts +1 -0
  73. package/lib/dialog/index.d.ts +1 -1
  74. package/lib/email-field/index.d.ts +1 -1
  75. package/lib/email-field/index.js +1 -0
  76. package/lib/email-field/index.js.map +1 -1
  77. package/lib/email-field/themes/halo/dark/index.js +1 -1
  78. package/lib/email-field/themes/halo/light/index.js +1 -1
  79. package/lib/email-field/themes/solar/charcoal/index.js +1 -1
  80. package/lib/email-field/themes/solar/pearl/index.js +1 -1
  81. package/lib/events.d.ts +1 -0
  82. package/lib/flag/index.d.ts +1 -1
  83. package/lib/flag/utils/FlagLoader.d.ts +1 -0
  84. package/lib/header/index.d.ts +1 -1
  85. package/lib/heatmap/custom-elements.json +13 -0
  86. package/lib/heatmap/helpers/color.d.ts +1 -0
  87. package/lib/heatmap/helpers/text.d.ts +1 -0
  88. package/lib/heatmap/helpers/track.d.ts +1 -0
  89. package/lib/heatmap/helpers/types.d.ts +1 -0
  90. package/lib/heatmap/index.d.ts +18 -6
  91. package/lib/heatmap/index.js +40 -20
  92. package/lib/heatmap/index.js.map +1 -1
  93. package/lib/icon/index.d.ts +1 -1
  94. package/lib/icon/utils/IconLoader.d.ts +1 -0
  95. package/lib/index.d.ts +1 -0
  96. package/lib/index.js +1 -1
  97. package/lib/interactive-chart/helpers/merge.d.ts +1 -0
  98. package/lib/interactive-chart/helpers/types.d.ts +4 -3
  99. package/lib/interactive-chart/index.d.ts +1 -1
  100. package/lib/interactive-chart/index.js +7 -7
  101. package/lib/interactive-chart/index.js.map +1 -1
  102. package/lib/item/helpers/types.d.ts +1 -0
  103. package/lib/item/index.d.ts +1 -1
  104. package/lib/label/custom-elements.json +7 -16
  105. package/lib/label/index.d.ts +32 -71
  106. package/lib/label/index.js +142 -179
  107. package/lib/label/index.js.map +1 -1
  108. package/lib/layout/index.d.ts +1 -1
  109. package/lib/led-gauge/index.d.ts +1 -1
  110. package/lib/list/extensible-function.d.ts +1 -0
  111. package/lib/list/helpers/list-renderer.d.ts +1 -0
  112. package/lib/list/helpers/types.d.ts +1 -0
  113. package/lib/list/index.d.ts +8 -2
  114. package/lib/list/index.js +26 -9
  115. package/lib/list/index.js.map +1 -1
  116. package/lib/list/renderer.d.ts +1 -0
  117. package/lib/loader/index.d.ts +1 -1
  118. package/lib/multi-input/helpers/types.d.ts +1 -0
  119. package/lib/multi-input/index.d.ts +1 -1
  120. package/lib/notification/elements/notification-tray.d.ts +1 -1
  121. package/lib/notification/elements/notification.d.ts +1 -1
  122. package/lib/notification/helpers/status.d.ts +1 -0
  123. package/lib/notification/helpers/types.d.ts +1 -0
  124. package/lib/notification/index.d.ts +1 -0
  125. package/lib/number-field/index.d.ts +1 -1
  126. package/lib/number-field/index.js +1 -0
  127. package/lib/number-field/index.js.map +1 -1
  128. package/lib/number-field/themes/halo/dark/index.js +1 -1
  129. package/lib/number-field/themes/halo/light/index.js +1 -1
  130. package/lib/number-field/themes/solar/charcoal/index.js +1 -1
  131. package/lib/number-field/themes/solar/pearl/index.js +1 -1
  132. package/lib/overlay/elements/overlay-backdrop.d.ts +1 -1
  133. package/lib/overlay/elements/overlay-viewport.d.ts +1 -1
  134. package/lib/overlay/elements/overlay.d.ts +1 -1
  135. package/lib/overlay/elements/overlay.js +1 -0
  136. package/lib/overlay/elements/overlay.js.map +1 -1
  137. package/lib/overlay/helpers/functions.d.ts +1 -0
  138. package/lib/overlay/helpers/types.d.ts +1 -0
  139. package/lib/overlay/index.d.ts +1 -0
  140. package/lib/overlay/managers/backdrop-manager.d.ts +2 -1
  141. package/lib/overlay/managers/close-manager.d.ts +2 -1
  142. package/lib/overlay/managers/focus-manager.d.ts +2 -1
  143. package/lib/overlay/managers/focus-manager.js +1 -2
  144. package/lib/overlay/managers/focus-manager.js.map +1 -1
  145. package/lib/overlay/managers/interaction-lock-manager.d.ts +1 -0
  146. package/lib/overlay/managers/viewport-manager.d.ts +2 -1
  147. package/lib/overlay/managers/zindex-manager.d.ts +2 -1
  148. package/lib/overlay/managers/zindex-manager.js +0 -2
  149. package/lib/overlay/managers/zindex-manager.js.map +1 -1
  150. package/lib/overlay-menu/custom-elements.json +64 -0
  151. package/lib/overlay-menu/helpers/types.d.ts +1 -0
  152. package/lib/overlay-menu/helpers/uuid.d.ts +1 -0
  153. package/lib/overlay-menu/index.d.ts +19 -1
  154. package/lib/overlay-menu/index.js +18 -0
  155. package/lib/overlay-menu/index.js.map +1 -1
  156. package/lib/overlay-menu/managers/menu-manager.d.ts +1 -0
  157. package/lib/pagination/helpers/types.d.ts +1 -0
  158. package/lib/pagination/index.d.ts +1 -1
  159. package/lib/panel/index.d.ts +1 -1
  160. package/lib/password-field/index.d.ts +1 -1
  161. package/lib/password-field/index.js +1 -0
  162. package/lib/password-field/index.js.map +1 -1
  163. package/lib/password-field/themes/halo/dark/index.js +1 -1
  164. package/lib/password-field/themes/halo/light/index.js +1 -1
  165. package/lib/password-field/themes/solar/charcoal/index.js +1 -1
  166. package/lib/password-field/themes/solar/pearl/index.js +1 -1
  167. package/lib/pill/index.d.ts +1 -1
  168. package/lib/progress-bar/index.d.ts +1 -1
  169. package/lib/radio-button/index.d.ts +1 -1
  170. package/lib/radio-button/radio-button-registry.d.ts +1 -0
  171. package/lib/rating/index.d.ts +1 -1
  172. package/lib/search-field/index.d.ts +1 -1
  173. package/lib/search-field/index.js +1 -0
  174. package/lib/search-field/index.js.map +1 -1
  175. package/lib/search-field/themes/halo/dark/index.js +1 -1
  176. package/lib/search-field/themes/halo/light/index.js +1 -1
  177. package/lib/search-field/themes/solar/charcoal/index.js +1 -1
  178. package/lib/search-field/themes/solar/pearl/index.js +1 -1
  179. package/lib/select/helpers/types.d.ts +1 -0
  180. package/lib/select/index.d.ts +1 -1
  181. package/lib/select/themes/halo/dark/index.js +1 -1
  182. package/lib/select/themes/halo/light/index.js +1 -1
  183. package/lib/sidebar-layout/index.d.ts +1 -1
  184. package/lib/slider/index.d.ts +7 -1
  185. package/lib/slider/index.js +48 -1
  186. package/lib/slider/index.js.map +1 -1
  187. package/lib/sparkline/index.d.ts +1 -1
  188. package/lib/swing-gauge/const.d.ts +23 -0
  189. package/lib/swing-gauge/const.js +27 -0
  190. package/lib/swing-gauge/const.js.map +1 -0
  191. package/lib/swing-gauge/custom-elements.json +47 -20
  192. package/lib/swing-gauge/helpers.d.ts +9 -0
  193. package/lib/swing-gauge/helpers.js +106 -0
  194. package/lib/swing-gauge/helpers.js.map +1 -0
  195. package/lib/swing-gauge/index.d.ts +207 -70
  196. package/lib/swing-gauge/index.js +651 -161
  197. package/lib/swing-gauge/index.js.map +1 -1
  198. package/lib/swing-gauge/themes/halo/dark/index.js +1 -1
  199. package/lib/swing-gauge/themes/halo/light/index.js +1 -1
  200. package/lib/swing-gauge/themes/solar/charcoal/index.js +1 -1
  201. package/lib/swing-gauge/themes/solar/pearl/index.js +1 -1
  202. package/lib/swing-gauge/types.d.ts +35 -0
  203. package/lib/swing-gauge/{helpers/types.js → types.js} +0 -0
  204. package/lib/swing-gauge/{helpers/types.js.map → types.js.map} +1 -1
  205. package/lib/tab/custom-elements.json +7 -18
  206. package/lib/tab/index.d.ts +5 -9
  207. package/lib/tab/index.js +11 -19
  208. package/lib/tab/index.js.map +1 -1
  209. package/lib/tab/themes/halo/dark/index.js +1 -1
  210. package/lib/tab/themes/halo/light/index.js +1 -1
  211. package/lib/tab/themes/solar/charcoal/index.js +1 -1
  212. package/lib/tab/themes/solar/pearl/index.js +1 -1
  213. package/lib/tab-bar/helpers/animate.d.ts +1 -0
  214. package/lib/tab-bar/index.d.ts +1 -1
  215. package/lib/text-field/index.d.ts +1 -1
  216. package/lib/text-field/index.js +1 -0
  217. package/lib/text-field/index.js.map +1 -1
  218. package/lib/text-field/themes/halo/dark/index.js +1 -1
  219. package/lib/text-field/themes/halo/light/index.js +1 -1
  220. package/lib/text-field/themes/solar/charcoal/index.js +1 -1
  221. package/lib/text-field/themes/solar/pearl/index.js +1 -1
  222. package/lib/time-picker/index.d.ts +1 -1
  223. package/lib/toggle/index.d.ts +1 -1
  224. package/lib/tooltip/elements/title-tooltip.d.ts +1 -0
  225. package/lib/tooltip/elements/tooltip-element.d.ts +2 -2
  226. package/lib/tooltip/elements/tooltip-element.js +0 -1
  227. package/lib/tooltip/elements/tooltip-element.js.map +1 -1
  228. package/lib/tooltip/helpers/overflow-tooltip.d.ts +1 -0
  229. package/lib/tooltip/helpers/renderer.d.ts +1 -0
  230. package/lib/tooltip/helpers/types.d.ts +1 -0
  231. package/lib/tooltip/index.d.ts +2 -2
  232. package/lib/tooltip/index.js +3 -4
  233. package/lib/tooltip/index.js.map +1 -1
  234. package/lib/tooltip/managers/tooltip-manager.d.ts +2 -1
  235. package/lib/tooltip/managers/tooltip-manager.js +20 -9
  236. package/lib/tooltip/managers/tooltip-manager.js.map +1 -1
  237. package/lib/tornado-chart/elements/tornado-chart.d.ts +1 -1
  238. package/lib/tornado-chart/elements/tornado-item.d.ts +1 -1
  239. package/lib/tornado-chart/index.d.ts +1 -0
  240. package/lib/tree/elements/tree-item.d.ts +9 -1
  241. package/lib/tree/elements/tree-item.js +17 -0
  242. package/lib/tree/elements/tree-item.js.map +1 -1
  243. package/lib/tree/elements/tree.d.ts +1 -1
  244. package/lib/tree/helpers/renderer.d.ts +1 -0
  245. package/lib/tree/helpers/renderer.js +1 -0
  246. package/lib/tree/helpers/renderer.js.map +1 -1
  247. package/lib/tree/helpers/types.d.ts +5 -0
  248. package/lib/tree/index.d.ts +1 -0
  249. package/lib/tree/managers/tree-manager.d.ts +1 -0
  250. package/lib/tree/themes/halo/dark/index.js +1 -1
  251. package/lib/tree/themes/halo/light/index.js +1 -1
  252. package/lib/tree/themes/solar/charcoal/index.js +1 -1
  253. package/lib/tree/themes/solar/pearl/index.js +1 -1
  254. package/lib/tree-select/custom-elements.json +5 -0
  255. package/lib/tree-select/helpers/types.d.ts +1 -0
  256. package/lib/tree-select/index.d.ts +17 -1
  257. package/lib/tree-select/index.js +49 -5
  258. package/lib/tree-select/index.js.map +1 -1
  259. package/lib/tree-select/themes/halo/dark/index.js +2 -1
  260. package/lib/tree-select/themes/halo/light/index.js +2 -1
  261. package/lib/tree-select/themes/solar/charcoal/index.js +2 -1
  262. package/lib/tree-select/themes/solar/pearl/index.js +2 -1
  263. package/package.json +10 -10
  264. package/lib/label/helpers/text.d.ts +0 -35
  265. package/lib/label/helpers/text.js +0 -57
  266. package/lib/label/helpers/text.js.map +0 -1
  267. package/lib/swing-gauge/helpers/canvas.d.ts +0 -8
  268. package/lib/swing-gauge/helpers/canvas.js +0 -115
  269. package/lib/swing-gauge/helpers/canvas.js.map +0 -1
  270. package/lib/swing-gauge/helpers/types.d.ts +0 -33
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/swing-gauge/const.ts"],"names":[],"mappings":"AAAA,IAAK,OAGJ;AAHD,WAAK,OAAO;IACR,8BAAmB,CAAA;IACnB,kCAAuB,CAAA;AAC3B,CAAC,EAHI,OAAO,KAAP,OAAO,QAGX;AAED,IAAK,QAGJ;AAHD,WAAK,QAAQ;IACT,2BAAe,CAAA;IACf,2BAAe,CAAA;AACnB,CAAC,EAHI,QAAQ,KAAR,QAAQ,QAGZ;AAED,IAAK,eAIJ;AAJD,WAAK,eAAe;IAChB,kCAAe,CAAA;IACf,oCAAiB,CAAA;IACjB,oCAAiB,CAAA;AACrB,CAAC,EAJI,eAAe,KAAf,eAAe,QAInB;AAED,IAAK,YAOJ;AAPD,WAAK,YAAY;IACb,+CAA+B,CAAA;IAC/B,iDAAiC,CAAA;IACjC,sCAAsB,CAAA;IACtB,6CAA6B,CAAA;IAC7B,2CAA2B,CAAA;IAC3B,2CAA2B,CAAA;AAC/B,CAAC,EAPI,YAAY,KAAZ,YAAY,QAOhB;AAED,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC"}
@@ -7,70 +7,97 @@
7
7
  "attributes": [
8
8
  {
9
9
  "name": "primary-value",
10
- "description": "Set the primary value",
11
- "type": "number",
12
- "default": "\"50\""
10
+ "description": "Primary value",
11
+ "type": "number"
13
12
  },
14
13
  {
15
14
  "name": "primary-label",
16
- "description": "Set the primary label",
15
+ "description": "Primary label",
17
16
  "type": "string",
18
17
  "default": "\"\""
19
18
  },
20
19
  {
21
20
  "name": "secondary-value",
22
- "description": "Set the secondary value",
23
- "type": "number",
24
- "default": "\"50\""
21
+ "description": "Secondary value",
22
+ "type": "number"
25
23
  },
26
24
  {
27
25
  "name": "secondary-label",
28
- "description": "Set the secondary label",
26
+ "description": "Secondary label",
29
27
  "type": "string",
30
28
  "default": "\"\""
31
29
  },
32
30
  {
33
31
  "name": "duration",
34
- "description": "Sets the animation duration in milliseconds",
32
+ "description": "Animation duration in milliseconds",
35
33
  "type": "number",
36
- "default": "\"1000\""
34
+ "default": "1000"
35
+ },
36
+ {
37
+ "name": "primary-legend",
38
+ "description": "Primary value legend",
39
+ "type": "string",
40
+ "default": "\"\""
41
+ },
42
+ {
43
+ "name": "secondary-legend",
44
+ "description": "Secondary value legend",
45
+ "type": "string",
46
+ "default": "\"\""
37
47
  }
38
48
  ],
39
49
  "properties": [
40
50
  {
41
51
  "name": "primaryValue",
42
52
  "attribute": "primary-value",
43
- "description": "Set the primary value",
44
- "type": "number",
45
- "default": "\"50\""
53
+ "description": "Primary value",
54
+ "type": "number"
46
55
  },
47
56
  {
48
57
  "name": "primaryLabel",
49
58
  "attribute": "primary-label",
50
- "description": "Set the primary label",
59
+ "description": "Primary label",
51
60
  "type": "string",
52
61
  "default": "\"\""
53
62
  },
54
63
  {
55
64
  "name": "secondaryValue",
56
65
  "attribute": "secondary-value",
57
- "description": "Set the secondary value",
58
- "type": "number",
59
- "default": "\"50\""
66
+ "description": "Secondary value",
67
+ "type": "number"
60
68
  },
61
69
  {
62
70
  "name": "secondaryLabel",
63
71
  "attribute": "secondary-label",
64
- "description": "Set the secondary label",
72
+ "description": "Secondary label",
65
73
  "type": "string",
66
74
  "default": "\"\""
67
75
  },
68
76
  {
69
77
  "name": "duration",
70
78
  "attribute": "duration",
71
- "description": "Sets the animation duration in milliseconds",
79
+ "description": "Animation duration in milliseconds",
72
80
  "type": "number",
73
- "default": "\"1000\""
81
+ "default": "1000"
82
+ },
83
+ {
84
+ "name": "primaryLegend",
85
+ "attribute": "primary-legend",
86
+ "description": "Primary value legend",
87
+ "type": "string",
88
+ "default": "\"\""
89
+ },
90
+ {
91
+ "name": "secondaryLegend",
92
+ "attribute": "secondary-legend",
93
+ "description": "Secondary value legend",
94
+ "type": "string",
95
+ "default": "\"\""
96
+ },
97
+ {
98
+ "name": "valueFormatter",
99
+ "description": "Custome value formatter",
100
+ "default": "\"defaultValueFormatter\""
74
101
  },
75
102
  {
76
103
  "name": "canvasSize",
@@ -0,0 +1,9 @@
1
+ import { SwingGaugeCanvasSize, SwingGaugeData, SwingGaugeStyle } from './types';
2
+ declare const helpers: {
3
+ draw: (drawData: SwingGaugeData, drawCtx: CanvasRenderingContext2D, drawParams: SwingGaugeStyle) => void;
4
+ clear: (canvasSize: SwingGaugeCanvasSize, drawCtx: CanvasRenderingContext2D) => void;
5
+ elasticOut: (time: number) => number;
6
+ textWidth: (drawCtx: CanvasRenderingContext2D, text: string, fontSize: number, fontFamily: string) => number;
7
+ };
8
+ export { helpers };
9
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1,106 @@
1
+ import { CenterLineStyle, DefaultStyle } from './const';
2
+ let ctx;
3
+ let data;
4
+ let style;
5
+ const clear = (canvasSize, drawCtx) => {
6
+ drawCtx.clearRect(0, 0, canvasSize.width, canvasSize.height);
7
+ };
8
+ const drawSegment = (start, end, color) => {
9
+ ctx.strokeStyle = color;
10
+ ctx.lineWidth = data.size * data.gaugeWidthScale;
11
+ ctx.beginPath();
12
+ ctx.arc(data.width / 2, data.height, data.size * data.gaugeHeightScale, (start + 1) * Math.PI, (end + 1) * Math.PI);
13
+ ctx.stroke();
14
+ };
15
+ const drawDot = (x, y) => {
16
+ ctx.fillStyle = DefaultStyle.CENTER_LINE_COLOR;
17
+ ctx.lineWidth = 1;
18
+ ctx.beginPath();
19
+ ctx.arc(x, y - 5, 4, 0, 2 * Math.PI);
20
+ ctx.fill();
21
+ };
22
+ const drawLine = (startX, startY, endX, endY, offset) => {
23
+ ctx.strokeStyle = DefaultStyle.CENTER_LINE_COLOR;
24
+ ctx.lineWidth = 2;
25
+ ctx.setLineDash([5, 3]);
26
+ ctx.beginPath();
27
+ ctx.moveTo(startX, startY - 5);
28
+ ctx.lineTo(endX, endY - 5);
29
+ ctx.lineTo(endX + offset, endY - 5);
30
+ ctx.stroke();
31
+ ctx.setLineDash([]);
32
+ };
33
+ const drawLinePointer = (startX, startY, endX, endY, offset) => {
34
+ drawDot(startX, startY);
35
+ drawLine(startX, startY, endX, endY, offset);
36
+ };
37
+ const draw = (drawData, drawCtx, drawParams) => {
38
+ data = drawData;
39
+ ctx = drawCtx;
40
+ style = drawParams;
41
+ const primaryStart = 0;
42
+ let secondaryStart = data.fillPercentage;
43
+ const primaryEnd = 1;
44
+ const secondaryEnd = 1;
45
+ secondaryStart = secondaryStart < 0.01 ? 0.01 : secondaryStart;
46
+ secondaryStart = secondaryStart > 0.99 ? 0.99 : secondaryStart;
47
+ // Draw segments
48
+ drawSegment(primaryStart, primaryEnd, style.primaryColor);
49
+ drawSegment(secondaryStart, secondaryEnd, style.secondaryColor);
50
+ // Draw Line pointer
51
+ drawLinePointer(data.offsetLeftPrimaryPoint, data.offsetTopPrimaryPoint, data.offsetLeftPrimaryLine, data.offsetTopPrimaryLine, -data.lineLength);
52
+ drawLinePointer(data.offsetLeftSecondaryPoint, data.offsetTopSecondaryPoint, data.offsetLeftSecondaryLine, data.offsetTopSecondaryLine, data.lineLength);
53
+ // Draw inner circle and lines
54
+ ctx.lineWidth = style.strokeWidth;
55
+ ctx.strokeStyle = style.borderColor;
56
+ ctx.beginPath();
57
+ ctx.arc(data.width / 2, data.height, data.size * data.gaugeUpperBound - style.strokeWidth / 2, 0, 2 * Math.PI);
58
+ ctx.strokeStyle = style.borderColor;
59
+ ctx.stroke();
60
+ ctx.beginPath();
61
+ ctx.arc(data.width / 2, data.height, data.size * data.gaugeLowerBound, 0, 2 * Math.PI);
62
+ ctx.strokeStyle = style.borderColor;
63
+ ctx.stroke();
64
+ // Should we draw a center line?
65
+ if (Object.values(CenterLineStyle).includes(style.centerline)) {
66
+ ctx.save();
67
+ ctx.beginPath();
68
+ if (style.centerline === CenterLineStyle.SOLID) {
69
+ ctx.globalAlpha = Number(style.centerlineOpacity);
70
+ }
71
+ else if (style.centerline === CenterLineStyle.DOTTED) {
72
+ ctx.setLineDash([2, 2]);
73
+ }
74
+ else {
75
+ ctx.setLineDash([5, 3]);
76
+ }
77
+ ctx.moveTo(data.width / 2, data.height - data.size * data.gaugeLowerBound);
78
+ ctx.lineTo(data.width / 2, data.height - (data.size * data.gaugeUpperBound) + style.strokeWidth);
79
+ ctx.strokeStyle = style.centerlineColor;
80
+ ctx.stroke();
81
+ ctx.restore();
82
+ }
83
+ };
84
+ // Helper function for elastic easing
85
+ const elasticOut = ((amplitude, period) => {
86
+ const pi2 = Math.PI * 2;
87
+ return function (time) {
88
+ if (time === 0 || time === 1) {
89
+ return time;
90
+ }
91
+ const s = (period / pi2) * Math.asin(1 / amplitude);
92
+ return (amplitude * Math.pow(2, -10 * time) * Math.sin(((time - s) * pi2) / period) + 1);
93
+ };
94
+ })(1.2, 0.5);
95
+ const textWidth = (drawCtx, text, fontSize, fontFamily) => {
96
+ drawCtx.font = `${fontSize}px ${fontFamily}`;
97
+ return drawCtx.measureText(text).width;
98
+ };
99
+ const helpers = {
100
+ draw,
101
+ clear,
102
+ elasticOut,
103
+ textWidth
104
+ };
105
+ export { helpers };
106
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/swing-gauge/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import { JSXInterface } from '../jsx';
2
- import { CSSResult, ElementSize, PropertyValues } from '@refinitiv-ui/core';
3
- import { Canvas } from '../canvas';
2
+ import { ResponsiveElement, CSSResult, PropertyValues, TemplateResult } from '@refinitiv-ui/core';
3
+ import '../canvas';
4
+ import '../label';
5
+ import { SwingGaugeCanvasSize, SwingGaugeValueFormatter } from './types';
6
+ export { SwingGaugeValueFormatter };
4
7
  /**
5
8
  * Data visualisation showing the percentage between two values
6
9
  */
7
- export declare class SwingGauge extends Canvas {
10
+ export declare class SwingGauge extends ResponsiveElement {
8
11
  /**
9
12
  * Element version number
10
13
  * @returns version number
@@ -17,129 +20,263 @@ export declare class SwingGauge extends Canvas {
17
20
  * @return CSS template
18
21
  */
19
22
  static get styles(): CSSResult;
23
+ private _primaryValue;
20
24
  /**
21
- * Set the primary value
22
- * @default 50
25
+ * Primary value
26
+ * @param value primary value
23
27
  */
24
- primaryValue: number;
28
+ set primaryValue(value: number);
29
+ get primaryValue(): number;
25
30
  /**
26
- * Set the primary label
31
+ * Primary label
27
32
  */
28
33
  primaryLabel: string;
34
+ private _secondaryValue;
29
35
  /**
30
- * Set the secondary value
31
- * @default 50
36
+ * Secondary value
37
+ * @param value secondary value
32
38
  */
33
- secondaryValue: number;
39
+ set secondaryValue(value: number);
40
+ get secondaryValue(): number;
34
41
  /**
35
- * Set the secondary label
42
+ * Secondary label
36
43
  */
37
44
  secondaryLabel: string;
38
45
  /**
39
- * Sets the animation duration in milliseconds
40
- * @default 1000
46
+ * Animation duration in milliseconds
41
47
  */
42
48
  duration: number;
43
49
  /**
44
- * Getter size of component
45
- * @returns {ElementSize} return size of component
50
+ * Primary value legend
51
+ */
52
+ primaryLegend: string;
53
+ /**
54
+ * Secondary value legend
55
+ */
56
+ secondaryLegend: string;
57
+ /**
58
+ * Custome value formatter
59
+ */
60
+ valueFormatter: SwingGaugeValueFormatter;
61
+ /**
62
+ * Controls swing gauge animations
46
63
  */
47
- get canvasSize(): ElementSize;
48
- private w;
49
- private h;
50
- private min;
51
- private max;
52
- private size;
53
- private maxFontSize;
54
- private centerlineOptions;
55
64
  private onFrame;
56
65
  private cancelFrame;
57
- private previousFillPercentage;
66
+ private requestedAnimationID;
67
+ private gaugeWidthScale;
68
+ private gaugeHeightScale;
69
+ private gaugeUpperBound;
70
+ private gaugeLowerBound;
71
+ private linePointerOffset;
72
+ private pointPointerOffset;
73
+ private primaryLineRadian;
74
+ private secondaryLineRadian;
75
+ private linePointerOffsetOverflow;
76
+ /**
77
+ * Data requires to draw swing gauge
78
+ */
79
+ private data;
80
+ /**
81
+ * Internal sizes and scales
82
+ */
83
+ private width;
84
+ private height;
85
+ private size;
86
+ private lineLength;
87
+ private scale;
88
+ private overflowScale;
89
+ /**
90
+ * Current fill percentage
91
+ */
58
92
  private fillPercentage;
59
- private frameHandler;
60
- constructor();
61
93
  /**
62
- * Re-draw canvas when the size of component changed
63
- * @ignore
64
- * @param size element dimensions
65
- * @returns {void}
94
+ * Keeps previous percentage calculation to avoid re-rendering the same value
95
+ */
96
+ private previousFillPercentage;
97
+ /**
98
+ * Get primary percentage
99
+ */
100
+ private get primaryPercentage();
101
+ /**
102
+ * Get secondary percentage
103
+ */
104
+ private get secondaryPercentage();
105
+ /**
106
+ * Check width and height are valid
107
+ * @returns if size is valid
66
108
  */
67
- resizedCallback(size: ElementSize): void;
109
+ private get hasValidSize();
68
110
  /**
69
- * Handles when event frame fired to re-draw canvas
70
- * @protected
71
- * @param time timestamp
72
- * @returns {void}
111
+ * Get default value format
112
+ * @param value A value on each side of swing gauge
113
+ * @returns default value format
73
114
  */
74
- protected fireFrame(time: number): void;
115
+ private defaultValueFormatter;
75
116
  /**
76
- * On First Updated Lifecycle
77
- * @ignore
78
- * @param changedProperties changed properties
79
- * @returns {void}
117
+ * Style for primary container
80
118
  */
81
- protected firstUpdated(changedProperties: PropertyValues): void;
119
+ private primaryContainerStyle;
82
120
  /**
83
- * On Update Lifecycle
84
- * @ignore
85
- * @param changedProperties changed properties
86
- * @returns {void}
121
+ * Style for secondary container
87
122
  */
88
- protected update(changedProperties: PropertyValues): void;
123
+ private secondaryContainerStyle;
124
+ /**
125
+ * Style for label
126
+ */
127
+ private labelStyle;
128
+ /**
129
+ * Style for both values
130
+ */
131
+ private valueStyle;
132
+ /**
133
+ * Get primary container element
134
+ */
135
+ private primaryContainer;
136
+ /**
137
+ * Get secondary container element
138
+ */
139
+ private secondaryContainer;
140
+ /**
141
+ * Get legend container element
142
+ */
143
+ private legendContainer;
144
+ /**
145
+ * Get canvas element
146
+ */
147
+ private canvas;
89
148
  /**
90
- * On Updated Lifecycle
91
- * @ignore
149
+ * Getter size of component
150
+ * @returns return size of canvas
151
+ */
152
+ get canvasSize(): SwingGaugeCanvasSize;
153
+ /**
154
+ * Validate number
155
+ * @protected
156
+ * @param value number that want to validate
157
+ * @param propName name of property
158
+ * @returns {number} valid number
159
+ */
160
+ protected validateNumber(value: number, propName: string): number;
161
+ /**
162
+ * On update lifecycle
92
163
  * @param changedProperties changed properties
93
164
  * @returns {void}
94
165
  */
95
- protected updated(changedProperties: PropertyValues): void;
166
+ protected update(changedProperties: PropertyValues): void;
96
167
  /**
97
168
  * Handles when component disconnected
98
- * @private
99
169
  * @returns {void}
100
170
  */
101
171
  disconnectedCallback(): void;
102
172
  /**
103
173
  * Calls easing based on both left and right values
104
- * @private
105
- * @param {number} v1 left value
106
- * @param {number} v2 right value
174
+ * @param primaryValue primary value
175
+ * @param secondaryValue secondary value
107
176
  * @returns {void}
108
177
  */
109
178
  private ease;
110
179
  /**
111
180
  * Eases the fill percentage
112
- * @private
113
- * @param {number} to ease to value
114
- * @param {number} from ease from value
115
- * @param {number} time ease time
181
+ * @param to ease to value
182
+ * @param from ease from value
183
+ * @param time ease time
116
184
  * @returns {void}
117
185
  */
118
186
  private easeTo;
119
187
  /**
120
- * Does the control has valid data?
121
- * @returns {boolean} will return true if valid data
188
+ * Restart the animation, re-render the canvas
189
+ * @returns {void}
190
+ */
191
+ private animateCanvas;
192
+ /**
193
+ * Render chart
194
+ * @param onDraw drawing type
195
+ * @param isFrameUpdated Optional called by on frame event
196
+ * @returns {void}
197
+ */
198
+ private renderCanvas;
199
+ /**
200
+ * Get computed swing-gauge data for drawing
201
+ * @returns swing-gauge data
122
202
  */
123
- private dataValid;
203
+ private getData;
124
204
  /**
125
- * Are we able to render?
126
- * Used to prevent frame painting if data hasn't changed
127
- * @returns {boolean} will return true if canvas can render
205
+ * Get number from CSS declaration value
206
+ * @param styleValue value of CSS declaration
207
+ * @returns number without CSS unit
128
208
  */
129
- private canRender;
209
+ private getValueFromStyle;
130
210
  /**
131
- * Calculate fill percentage and re-render chart
211
+ * Compute and update style of containers and labels
132
212
  * @returns {void}
133
213
  */
134
- private reDrawCanvas;
214
+ private updateGaugePositions;
135
215
  /**
136
- * Render chart
137
- * @param isFrameUpdated Optional called by on frame event
216
+ * Compute position style
217
+ * @param segment primary or secondary
218
+ * @param maxRadian max radian
219
+ * @param radiusOffset radius offset from gauge upper bound
220
+ * @param offset line length offset
221
+ * @returns position style
222
+ */
223
+ private getPositionStyle;
224
+ /**
225
+ * Scales canvas variables making it responsive before painting
138
226
  * @returns {void}
139
227
  */
140
- private renderCanvas;
228
+ private calculateCanvasSize;
229
+ /**
230
+ * Calculate and update font sizes on canvas
231
+ * @returns {void}
232
+ */
233
+ private updateFontSize;
234
+ /**
235
+ * Calculate label or value font size
236
+ * @param ctx canvas context
237
+ * @param textType text type
238
+ * @returns {number} font size
239
+ */
240
+ private calculateFontSize;
241
+ /**
242
+ * Update label font size
243
+ * @returns {void}
244
+ */
245
+ private calculateLabelFontSize;
246
+ /**
247
+ * Update value font size
248
+ * @returns {void}
249
+ */
250
+ private calculateValueFontSize;
251
+ /**
252
+ * Compute percentage of value
253
+ * @param value value of primary or secondary
254
+ * @returns percentage of value
255
+ */
256
+ private getPercentage;
257
+ /**
258
+ * Handles canvas resize
259
+ * @returns {void}
260
+ */
261
+ private onCanvasResize;
262
+ /**
263
+ * Renders legend container
264
+ * @returns {TemplateResult} Legend template or null
265
+ */
266
+ private get legendTemplate();
267
+ /**
268
+ * Renders primary legend if property present
269
+ * @returns {TemplateResult} Primary legend template or null
270
+ */
271
+ private get primaryLegendTemplate();
272
+ /**
273
+ * Renders secondary legend if property present
274
+ * @returns {TemplateResult} Secondary legend template or null
275
+ */
276
+ private get secondaryLegendTemplate();
277
+ render(): TemplateResult;
141
278
  }
142
-
279
+ //# sourceMappingURL=index.d.ts.map
143
280
  declare global {
144
281
  interface HTMLElementTagNameMap {
145
282
  'ef-swing-gauge': SwingGauge;