@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
@@ -13,3 +13,4 @@ declare type MergeObject = UnknownObject | Array<unknown>;
13
13
  */
14
14
  declare const merge: (object: MergeObject, sources: MergeObject, force?: boolean, record?: Array<unknown>) => void;
15
15
  export { merge, MergeObject };
16
+ //# sourceMappingURL=merge.d.ts.map
@@ -31,15 +31,16 @@ interface Theme {
31
31
  crossHairColor: string;
32
32
  chartUpColor: string;
33
33
  chartDownColor: string;
34
- fillOpacity: number | undefined;
35
- lineWidth: number | undefined;
34
+ fillOpacity?: number;
35
+ lineWidth?: number;
36
36
  }
37
37
  interface InteractiveChartSeries {
38
38
  type: string;
39
39
  symbol?: string;
40
40
  symbolName?: string;
41
- legendPriceFormatter?: CallableFunction;
41
+ legendPriceFormatter?: (price: string | number) => string | number;
42
42
  data: SeriesData;
43
43
  seriesOptions?: SeriesPartialOptions<SeriesOptions>;
44
44
  }
45
45
  export { InteractiveChartConfig, InteractiveChartSeries, Time, Theme, RowLegend, SeriesList, SeriesDataItem, SeriesStyleOptions, ColorToStringFunction, LegendStyle };
46
+ //# sourceMappingURL=types.d.ts.map
@@ -364,7 +364,7 @@ export declare class InteractiveChart extends ResponsiveElement {
364
364
  */
365
365
  protected render(): TemplateResult;
366
366
  }
367
-
367
+ //# sourceMappingURL=index.d.ts.map
368
368
  declare global {
369
369
  interface HTMLElementTagNameMap {
370
370
  'ef-interactive-chart': InteractiveChart;
@@ -812,20 +812,20 @@ let InteractiveChart = InteractiveChart_1 = class InteractiveChart extends Respo
812
812
  */
813
813
  createTextPrice(rowLegend, price, priceColor, index) {
814
814
  var _a;
815
- // Uses price formatter if provided
816
- const formatter = this.internalConfig.series[index].hasOwnProperty('legendPriceFormatter') ? this.internalConfig.series[index].legendPriceFormatter : null;
817
- price = (formatter ? formatter(price) : price);
815
+ const formatter = this.internalConfig.series[index].legendPriceFormatter;
816
+ // Formats legend only when formatter and data point are provided
817
+ const formattedPrice = !!formatter && price !== NO_DATA_POINT ? formatter(price) : price;
818
818
  // Create text price after chart has rendered
819
819
  if (this.isHTMLElement(rowLegend)) {
820
820
  rowLegend.setAttribute('data-color', priceColor);
821
- this.createSpan(rowLegend, price);
821
+ this.createSpan(rowLegend, formattedPrice);
822
822
  }
823
823
  // Handle update text price when mouse crosshairMove in chart
824
824
  else if (this.isNodeListElement(rowLegend)) {
825
825
  const symbolElem = rowLegend[index].children[0];
826
826
  const spanIndex = ((_a = symbolElem.getAttribute('class')) === null || _a === void 0 ? void 0 : _a.indexOf('symbol')) === 0 ? 1 : 0;
827
827
  const rowLegendElem = rowLegend[index];
828
- rowLegendElem.children[spanIndex].textContent = `${price}`;
828
+ rowLegendElem.children[spanIndex].textContent = `${formattedPrice}`;
829
829
  rowLegendElem.children[spanIndex].style.color = `${priceColor}`;
830
830
  }
831
831
  }
@@ -1040,8 +1040,8 @@ let InteractiveChart = InteractiveChart_1 = class InteractiveChart extends Respo
1040
1040
  <div part="jump-button"></div>
1041
1041
  </div>
1042
1042
  <div part="branding-container" title="" tooltip="Powered by Trading View">
1043
- <svg viewBox="0 0 33 19" part="branding">
1044
- <path d="M29.0317379,7.38247569 C29.5989701,8.20545373 29.9478191,9.19057395 29.9946037,10.2541551 C31.7452105,10.8703835 33,12.5386559 33,14.5 C33,16.9852814 30.9852814,19 28.5,19 L6,19 C4.35376245,19 2.86237543,18.3370061 1.7782826,17.2634619 L11.3238065,9.70658883 C11.6743726,9.89384408 12.0747893,10 12.5,10 C12.8814296,10 13.242908,9.91457903 13.5663489,9.76182351 L18.1165746,13.743271 C18.0408521,13.9819846 18,14.2362216 18,14.5 C18,15.8807119 19.1192881,17 20.5,17 C21.8807119,17 23,15.8807119 23,14.5 C23,14.1775704 22.9389612,13.8693971 22.8278086,13.586405 L29.0317379,7.38247569 Z M27.6175243,5.96826213 L21.413595,12.1721914 C21.1306029,12.0610388 20.8224296,12 20.5,12 C20.1185704,12 19.757092,12.085421 19.4336511,12.2381765 L14.8834254,8.25672903 C14.9591479,8.01801537 15,7.76377844 15,7.5 C15,6.11928813 13.8807119,5 12.5,5 C11.1192881,5 10,6.11928813 10,7.5 C10,7.72070771 10.0286003,7.93473545 10.082297,8.13857926 L0.609477485,15.6378947 C0.219150823,14.8417652 0,13.9464753 0,13 C0,9.6862915 2.6862915,7 6,7 C6.02064279,7 6.04126123,7.00010425 6.06185483,7.00031224 C6.55381427,3.0538495 9.92027475,0 14,0 C17.6455896,0 20.7216389,2.43849213 21.6860468,5.77337533 C22.5093073,5.28219823 23.4716982,5 24.5,5 C25.6574983,5 26.7314831,5.35756404 27.6175243,5.96826213 Z"></path>
1043
+ <svg width="33" height="19" viewBox="0 0 611 314" part="branding">
1044
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M341 124C375.242 124 403 96.2417 403 62C403 27.7583 375.242 0 341 0C306.758 0 279 27.7583 279 62C279 96.2417 306.758 124 341 124ZM481 314H337L467 4H611L481 314ZM124 4H248V128V314H124V128H0V4H124Z"/>
1045
1045
  </svg>
1046
1046
  </div>
1047
1047
  <div part="chart"></div>
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interactive-chart/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interactive-chart/index.ts"],"names":[],"mappings":"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"}
@@ -55,3 +55,4 @@ export interface ItemDivider extends CommonItem {
55
55
  */
56
56
  export declare type ItemData = ItemText | ItemHeader | ItemDivider;
57
57
  export {};
58
+ //# sourceMappingURL=types.d.ts.map
@@ -133,7 +133,7 @@ export declare class Item extends ControlElement {
133
133
  */
134
134
  protected render(): TemplateResult;
135
135
  }
136
-
136
+ //# sourceMappingURL=index.d.ts.map
137
137
  declare global {
138
138
  interface HTMLElementTagNameMap {
139
139
  'ef-item': Item;
@@ -6,14 +6,10 @@
6
6
  "description": "Displays a text with alternative truncation",
7
7
  "attributes": [
8
8
  {
9
- "name": "truncate",
10
- "description": "Enable shortening the slot content",
11
- "type": "\"\" | \"center\" | null | undefined"
12
- },
13
- {
14
- "name": "max-line",
9
+ "name": "line-clamp",
15
10
  "description": "Limit the number of lines before truncating",
16
- "type": "null"
11
+ "type": "number",
12
+ "default": "0"
17
13
  },
18
14
  {
19
15
  "name": "error",
@@ -30,16 +26,11 @@
30
26
  ],
31
27
  "properties": [
32
28
  {
33
- "name": "truncate",
34
- "attribute": "truncate",
35
- "description": "Enable shortening the slot content",
36
- "type": "\"\" | \"center\" | null | undefined"
37
- },
38
- {
39
- "name": "maxLine",
40
- "attribute": "max-line",
29
+ "name": "lineClamp",
30
+ "attribute": "line-clamp",
41
31
  "description": "Limit the number of lines before truncating",
42
- "type": "null"
32
+ "type": "number",
33
+ "default": "0"
43
34
  },
44
35
  {
45
36
  "name": "error",
@@ -1,10 +1,9 @@
1
1
  import { JSXInterface } from '../jsx';
2
- import { ResponsiveElement, TemplateResult, CSSResult, PropertyValues } from '@refinitiv-ui/core';
3
- import '../tooltip';
2
+ import { BasicElement, TemplateResult, CSSResult } from '@refinitiv-ui/core';
4
3
  /**
5
4
  * Displays a text with alternative truncation
6
5
  */
7
- export declare class Label extends ResponsiveElement {
6
+ export declare class Label extends BasicElement {
8
7
  /**
9
8
  * Element version number
10
9
  * @returns version number
@@ -17,14 +16,10 @@ export declare class Label extends ResponsiveElement {
17
16
  * @returns CSS template
18
17
  */
19
18
  static get styles(): CSSResult | CSSResult[];
20
- /**
21
- * Enable shortening the slot content
22
- */
23
- truncate: 'center' | '' | null | undefined;
24
19
  /**
25
20
  * Limit the number of lines before truncating
26
21
  */
27
- maxLine: null;
22
+ lineClamp: number;
28
23
  /**
29
24
  * Set state to error
30
25
  */
@@ -34,90 +29,56 @@ export declare class Label extends ResponsiveElement {
34
29
  */
35
30
  warning: boolean;
36
31
  /**
37
- * Use to set title attribute for tooltip
38
- */
39
- private span;
40
- /**
41
- * Use to prevent resizes observer in certain use cases
42
- */
43
- private updateTimer;
44
- /**
45
- * Store trimmed text content
46
- */
47
- private rawText;
48
- /**
49
- * Tooltip state when truncate = center
32
+ * Trimmed chunks of textual content
50
33
  */
51
- private enableTooltip;
52
- private mutationObserver?;
34
+ private chunks;
53
35
  /**
54
- * The lifecycle method called when properties changed first time
55
- * @param changedProperties properties it's the Map object which has the updated properties
56
- * @returns {void}
57
- */
58
- protected firstUpdated(changedProperties: PropertyValues): void;
59
- /**
60
- * Called when the element’s DOM has been updated and rendered
61
- * @param changedProperties Properties that has changed
62
- * @returns shouldUpdate
36
+ * Mutation Observer used to detect changes in the Light DOM
63
37
  */
64
- protected updated(changedProperties: PropertyValues): void;
38
+ private mutationObserver;
65
39
  /**
66
- * Used to prevent handler fired when previous content are the same as last content
40
+ * Render used to display the tooltip
41
+ * @returns Tooltip text
67
42
  */
68
- private previousContent;
43
+ protected tooltipRenderer: () => string;
69
44
  /**
70
- * Handle statement after slot or innerHTML has been changed
71
- * @returns void
45
+ * Condition used to display the tooltip
46
+ * @param target Tooltip target
47
+ * @returns Whether the tooltip should be shown or not.
72
48
  */
73
- private handleSlotChange;
49
+ protected tooltipCondition: (target: HTMLElement) => boolean;
74
50
  /**
75
- * Restore text content
76
- * @returns {void}
51
+ * @override
77
52
  */
78
- private restoreTextContent;
53
+ connectedCallback(): void;
79
54
  /**
80
- * concatenating all of text content in the slots
81
- * @returns trimmed text content
55
+ * @override
82
56
  */
83
- private retrieveSlotContent;
57
+ disconnectedCallback(): void;
84
58
  /**
85
- * Get element width minus padding
86
- * @param node parent node that wrapper text node
87
- * @returns {number} width minus padding
59
+ * Decides whether the tooltip should b shown
60
+ * @param tooltipTarget Target element passed by the tooltip condition
61
+ * @returns True if the tooltip should be shown
88
62
  */
89
- private getElementWidthMinusPadding;
63
+ protected shouldShowTooltip(tooltipTarget: HTMLElement): boolean;
90
64
  /**
91
- * Truncate a long string in the middle and add an ellipsis.
92
- * @param parentNode parent node
93
- * @param textNode text node
94
- * @param fullText string
65
+ * Handles any modifications to the internal HTML
66
+ * @param [mutation=false] is the request from a mutation event?
95
67
  * @returns {void}
96
68
  */
97
- private middleEllipsis;
69
+ protected recalculate(mutation?: boolean): void;
98
70
  /**
99
- * Handle text ellipsis and tooltip state when element has been resized
100
- * @returns void
71
+ * Returns cleaned version of `this.textContent`.
101
72
  */
102
- private onResize;
73
+ protected get text(): string;
103
74
  /**
104
- * Handle tooltip statement when properties changed
105
- * @returns void
75
+ * Default template
106
76
  */
107
- private updateTooltip;
77
+ protected get truncateTemplate(): TemplateResult;
108
78
  /**
109
- * private method but can't override
110
- * access modifiers in typescript.
111
- * @ignore
112
- * @param size element dimensions
113
- * @returns {void}
114
- */
115
- resizedCallback(): void;
116
- /**
117
- * Determine show/hide tooltip state
118
- * @returns {boolean} true if center truncate or the element is smaller than a parent
79
+ * Template for when line clamp is set
119
80
  */
120
- private isShowTooltip;
81
+ protected get clampTemplate(): TemplateResult;
121
82
  /**
122
83
  * A `TemplateResult` that will be used
123
84
  * to render the updated internal template.
@@ -125,7 +86,7 @@ export declare class Label extends ResponsiveElement {
125
86
  */
126
87
  protected render(): TemplateResult;
127
88
  }
128
-
89
+ //# sourceMappingURL=index.d.ts.map
129
90
  declare global {
130
91
  interface HTMLElementTagNameMap {
131
92
  'ef-label': Label;
@@ -4,30 +4,42 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { ResponsiveElement, html, css, customElement, property, query } from '@refinitiv-ui/core';
7
+ import { BasicElement, html, css, customElement, property, styleMap } from '@refinitiv-ui/core';
8
8
  import { VERSION } from '../';
9
- import '../tooltip';
10
- import { TextHelpers } from './helpers/text';
11
- // Observer config for items
9
+ import { addTooltipCondition, removeTooltipCondition } from '../tooltip';
10
+ /**
11
+ * Configuration object
12
+ * for mutations observers
13
+ */
12
14
  const observerOptions = {
13
15
  subtree: true,
14
16
  childList: true,
15
17
  characterData: true
16
18
  };
19
+ /**
20
+ * Reusable SPACE
21
+ */
22
+ const _ = ' ';
23
+ /**
24
+ * Helper to check if the browser is IE
25
+ * @returns True if the browser is IE
26
+ */
27
+ const isIE = () => !!navigator.userAgent.match(/Trident/g) || !!navigator.userAgent.match(/MSIE/g);
28
+ /**
29
+ * Determines if the browser is legacy or modern.
30
+ */
31
+ /* istanbul ignore next */
32
+ const browserType = isIE() ? 'legacy' : 'modern';
17
33
  /**
18
34
  * Displays a text with alternative truncation
19
35
  */
20
- let Label = class Label extends ResponsiveElement {
36
+ let Label = class Label extends BasicElement {
21
37
  constructor() {
22
38
  super(...arguments);
23
- /**
24
- * Enable shortening the slot content
25
- */
26
- this.truncate = null;
27
39
  /**
28
40
  * Limit the number of lines before truncating
29
41
  */
30
- this.maxLine = null;
42
+ this.lineClamp = 0;
31
43
  /**
32
44
  * Set state to error
33
45
  */
@@ -37,17 +49,24 @@ let Label = class Label extends ResponsiveElement {
37
49
  */
38
50
  this.warning = false;
39
51
  /**
40
- * Store trimmed text content
52
+ * Trimmed chunks of textual content
53
+ */
54
+ this.chunks = [];
55
+ /**
56
+ * Mutation Observer used to detect changes in the Light DOM
41
57
  */
42
- this.rawText = '';
58
+ this.mutationObserver = new MutationObserver(() => this.recalculate(true));
43
59
  /**
44
- * Tooltip state when truncate = center
60
+ * Render used to display the tooltip
61
+ * @returns Tooltip text
45
62
  */
46
- this.enableTooltip = false;
63
+ this.tooltipRenderer = () => this.text;
47
64
  /**
48
- * Used to prevent handler fired when previous content are the same as last content
65
+ * Condition used to display the tooltip
66
+ * @param target Tooltip target
67
+ * @returns Whether the tooltip should be shown or not.
49
68
  */
50
- this.previousContent = '';
69
+ this.tooltipCondition = (target) => this.shouldShowTooltip(target);
51
70
  }
52
71
  /**
53
72
  * Element version number
@@ -65,192 +84,141 @@ let Label = class Label extends ResponsiveElement {
65
84
  static get styles() {
66
85
  return css `
67
86
  :host {
68
- display: inline-block;
87
+ display: inline-flex;
69
88
  max-width: 100%;
70
- box-sizing: border-box;
71
89
  }
72
- :host([truncate]) {
73
- white-space: nowrap;
74
- text-overflow: ellipsis;
90
+ .split {
91
+ height: 1.2em;
92
+ line-height: 1.2em;
93
+ margin-top: -0.1em;
94
+ flex: 0 1 auto;
95
+ min-width: 0;
75
96
  overflow: hidden;
97
+ white-space: nowrap;
76
98
  }
77
- :host([max-line]) {
78
- display: -webkit-inline-box;
79
- -webkit-line-clamp: var(--max-line);
99
+ .left.modern {
100
+ word-break: break-all;
80
101
  white-space: normal;
81
- -webkit-box-orient: vertical;
102
+ }
103
+ .left.legacy {
82
104
  text-overflow: ellipsis;
83
- overflow: hidden;
84
105
  }
85
- :host([truncate=center]) {
86
- white-space: nowrap;
87
- text-overflow: clip;
106
+ .center {
107
+ flex: 0 100 auto;
108
+ }
109
+ .right.modern {
110
+ direction: rtl;
111
+ text-overflow: ellipsis;
112
+ }
113
+ .right.legacy span {
114
+ float: right;
115
+ }
116
+ .clamp {
117
+ overflow: hidden;
118
+ -webkit-box-orient: vertical;
119
+ display: -webkit-inline-box;
120
+ text-overflow: ellipsis;
121
+ position: relative;
122
+ overflow-wrap: break-word;
88
123
  }
89
124
  `;
90
125
  }
91
126
  /**
92
- * The lifecycle method called when properties changed first time
93
- * @param changedProperties properties it's the Map object which has the updated properties
94
- * @returns {void}
95
- */
96
- firstUpdated(changedProperties) {
97
- super.firstUpdated(changedProperties);
98
- this.rawText = this.retrieveSlotContent();
99
- }
100
- /**
101
- * Called when the element’s DOM has been updated and rendered
102
- * @param changedProperties Properties that has changed
103
- * @returns shouldUpdate
127
+ * @override
104
128
  */
105
- updated(changedProperties) {
106
- super.updated(changedProperties);
107
- if (changedProperties.has('truncate')) {
108
- if (this.truncate === 'center') {
109
- this.restoreTextContent();
110
- this.middleEllipsis(this, this.span, this.rawText);
111
- }
112
- else {
113
- this.restoreTextContent();
114
- if (this.maxLine) {
115
- this.style.setProperty('--max-line', this.maxLine);
116
- }
117
- }
118
- this.updateTooltip();
119
- }
120
- else if (changedProperties.has('maxLine')) {
121
- this.style.setProperty('--max-line', this.maxLine);
122
- this.updateTooltip();
123
- }
124
- // we must wait while all elements in the tree are updated before starting the mutation observer
125
- void this.updateComplete.then(() => {
126
- if (!this.mutationObserver) {
127
- // Start watching for any child mutations
128
- this.mutationObserver = new MutationObserver(this.handleSlotChange.bind(this));
129
- this.mutationObserver.observe(this, observerOptions);
130
- }
131
- });
132
- }
133
- /**
134
- * Handle statement after slot or innerHTML has been changed
135
- * @returns void
136
- */
137
- handleSlotChange() {
138
- // get new text content when label changed
139
- this.rawText = this.retrieveSlotContent();
140
- if (this.previousContent !== this.rawText) {
141
- this.previousContent = this.rawText;
142
- this.restoreTextContent();
143
- if (this.truncate === 'center') {
144
- this.middleEllipsis(this, this.span, this.rawText);
145
- }
146
- this.updateTooltip();
147
- }
129
+ connectedCallback() {
130
+ super.connectedCallback();
131
+ addTooltipCondition(this.tooltipCondition, this.tooltipRenderer);
132
+ this.mutationObserver.observe(this, observerOptions);
133
+ !isIE() && this.recalculate(); // In IE the mutation will trigger
148
134
  }
149
135
  /**
150
- * Restore text content
151
- * @returns {void}
136
+ * @override
152
137
  */
153
- restoreTextContent() {
154
- this.span.innerHTML = this.rawText;
138
+ disconnectedCallback() {
139
+ super.disconnectedCallback();
140
+ removeTooltipCondition(this.tooltipCondition);
141
+ this.mutationObserver.disconnect();
155
142
  }
156
143
  /**
157
- * concatenating all of text content in the slots
158
- * @returns trimmed text content
144
+ * Decides whether the tooltip should b shown
145
+ * @param tooltipTarget Target element passed by the tooltip condition
146
+ * @returns True if the tooltip should be shown
159
147
  */
160
- retrieveSlotContent() {
161
- let text = this.textContent || '';
162
- const slot = this.querySelector('slot');
163
- if (slot) {
164
- const slotContent = slot.assignedNodes({ flatten: true });
165
- for (let i = 0; i < slotContent.length; i++) {
166
- text += slotContent[i].textContent;
167
- }
148
+ shouldShowTooltip(tooltipTarget) {
149
+ const targetMatches = tooltipTarget === this;
150
+ const part = this.renderRoot.firstElementChild;
151
+ if (targetMatches && part) {
152
+ return part.clientHeight !== part.scrollHeight || part.clientWidth !== part.scrollWidth;
168
153
  }
169
- return TextHelpers.trim(text);
170
- }
171
- /**
172
- * Get element width minus padding
173
- * @param node parent node that wrapper text node
174
- * @returns {number} width minus padding
175
- */
176
- getElementWidthMinusPadding(node) {
177
- const paddingLeft = getComputedStyle(node).paddingLeft;
178
- const paddingRight = getComputedStyle(node).paddingRight;
179
- return node.offsetWidth - parseFloat(paddingLeft) - parseFloat(paddingRight);
154
+ return false;
180
155
  }
181
156
  /**
182
- * Truncate a long string in the middle and add an ellipsis.
183
- * @param parentNode parent node
184
- * @param textNode text node
185
- * @param fullText string
157
+ * Handles any modifications to the internal HTML
158
+ * @param [mutation=false] is the request from a mutation event?
186
159
  * @returns {void}
187
160
  */
188
- middleEllipsis(parentNode, textNode, fullText) {
189
- const parentWidth = this.getElementWidthMinusPadding(parentNode);
190
- const textWidth = textNode.offsetWidth;
191
- this.enableTooltip = false;
192
- if (textWidth <= parentWidth) {
193
- return;
161
+ recalculate(mutation = false) {
162
+ mutation; // keeping here for future use
163
+ const oldValue = this.text;
164
+ const raw = this.textContent || '';
165
+ this.chunks = raw.split(_).map(chunk => chunk.trim()).filter(chunk => chunk);
166
+ const newValue = this.text;
167
+ if (oldValue !== newValue) {
168
+ void this.requestUpdate('text', oldValue);
194
169
  }
195
- TextHelpers.middleEllipsis(textNode, parentWidth, fullText);
196
- this.enableTooltip = true;
197
- void this.requestUpdate();
198
170
  }
199
171
  /**
200
- * Handle text ellipsis and tooltip state when element has been resized
201
- * @returns void
172
+ * Returns cleaned version of `this.textContent`.
202
173
  */
203
- onResize() {
204
- if (this.truncate === 'center') {
205
- this.restoreTextContent(); // TODO: find a way to remove this to improve performance
206
- this.middleEllipsis(this, this.span, TextHelpers.trim(this.span.textContent || ''));
207
- }
208
- this.updateTooltip();
174
+ get text() {
175
+ return this.chunks.join(_);
209
176
  }
210
177
  /**
211
- * Handle tooltip statement when properties changed
212
- * @returns void
178
+ * Default template
213
179
  */
214
- updateTooltip() {
215
- // determine tooltip state
216
- if (this.isShowTooltip()) {
217
- this.span.setAttribute('title', this.rawText);
180
+ get truncateTemplate() {
181
+ const words = this.chunks;
182
+ const left = [];
183
+ const right = [];
184
+ const isSingleWord = words.length === 1;
185
+ if (isSingleWord) {
186
+ const word = words[0];
187
+ const split = Math.round(word.length / 2);
188
+ left.push(word.substr(0, split));
189
+ right.push(word.substr(split));
218
190
  }
219
191
  else {
220
- this.span.removeAttribute('tooltip');
221
- this.span.removeAttribute('title');
192
+ const split = Math.round(words.length / 2);
193
+ for (let i = 0; i < words.length; i += 1) {
194
+ (i < split ? left : right).push(words[i]);
195
+ }
222
196
  }
197
+ const leftPart = html `<div class="split left ${browserType}">${left.join(_)}</div>`;
198
+ const centerPart = isSingleWord ? undefined : html `<div class="split center">&nbsp;</div>`;
199
+ const rightPart = right.length ? html `<div class="split right ${browserType}"><span dir="ltr">${right.join(_)}</span></div>` : undefined;
200
+ return html `${leftPart}${centerPart}${rightPart}`;
223
201
  }
224
202
  /**
225
- * private method but can't override
226
- * access modifiers in typescript.
227
- * @ignore
228
- * @param size element dimensions
229
- * @returns {void}
230
- */
231
- resizedCallback() {
232
- clearTimeout(this.updateTimer);
233
- // split layout updating to another execution-loop
234
- // to prevents resizeObserver triggers resize-loop-error
235
- this.updateTimer = setTimeout(() => this.onResize(), 0);
236
- }
237
- /**
238
- * Determine show/hide tooltip state
239
- * @returns {boolean} true if center truncate or the element is smaller than a parent
203
+ * Template for when line clamp is set
240
204
  */
241
- isShowTooltip() {
242
- if (this.offsetWidth !== this.scrollWidth) {
243
- return true;
244
- }
245
- // truncate is center and text is overflow
246
- if (this.truncate === 'center' && this.enableTooltip) {
247
- return true;
248
- }
249
- // maxLine is provided and text is overflow
250
- else if (this.maxLine && this.offsetHeight !== this.scrollHeight) {
251
- return true;
205
+ get clampTemplate() {
206
+ const styles = {
207
+ maxHeight: '',
208
+ whiteSpace: '',
209
+ lineClamp: `${this.lineClamp}`,
210
+ '-webkit-line-clamp': `${this.lineClamp}`
211
+ };
212
+ /* istanbul ignore if */
213
+ if (browserType === 'legacy') {
214
+ const cs = getComputedStyle(this);
215
+ const lineHeight = parseFloat(cs.lineHeight) || 1.2 /* css default */;
216
+ styles.maxHeight = `calc(1em * ${lineHeight} * ${this.lineClamp})`; // faux clamp in legacy browsers
217
+ styles.whiteSpace = this.lineClamp === 1 ? 'nowrap' : ''; // show ellipsis in legacy browsers
252
218
  }
253
- return false;
219
+ return html `
220
+ <span class="clamp ${browserType}" style="${styleMap(styles)}">${this.text}</span>
221
+ `;
254
222
  }
255
223
  /**
256
224
  * A `TemplateResult` that will be used
@@ -258,29 +226,24 @@ let Label = class Label extends ResponsiveElement {
258
226
  * @return Render template
259
227
  */
260
228
  render() {
261
- return html `
262
- <div style="display: none;">
263
- <slot></slot>
264
- </div>
265
- <span .title=${this.isShowTooltip() ? this.rawText : ''}></span>
266
- `;
229
+ const template = this.lineClamp ? this.clampTemplate : this.truncateTemplate;
230
+ /* istanbul ignore if */
231
+ if (browserType === 'legacy') {
232
+ // Mutation observer does not fire in IE11 if slot is not present
233
+ return html `${template}<span style="display: none !important;"><slot></slot></span>`;
234
+ }
235
+ return template;
267
236
  }
268
237
  };
269
238
  __decorate([
270
- property({ type: String, reflect: true })
271
- ], Label.prototype, "truncate", void 0);
272
- __decorate([
273
- property({ type: String, reflect: true, attribute: 'max-line' })
274
- ], Label.prototype, "maxLine", void 0);
239
+ property({ type: Number, attribute: 'line-clamp' })
240
+ ], Label.prototype, "lineClamp", void 0);
275
241
  __decorate([
276
242
  property({ type: Boolean, reflect: true })
277
243
  ], Label.prototype, "error", void 0);
278
244
  __decorate([
279
245
  property({ type: Boolean, reflect: true })
280
246
  ], Label.prototype, "warning", void 0);
281
- __decorate([
282
- query('span', true)
283
- ], Label.prototype, "span", void 0);
284
247
  Label = __decorate([
285
248
  customElement('ef-label', {
286
249
  alias: 'quartz-label'