@refinitiv-ui/elements 6.0.0-next.3 → 6.0.2

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 (193) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/README.md +3 -15
  3. package/lib/accordion/index.js +2 -2
  4. package/lib/autosuggest/custom-elements.json +5 -15
  5. package/lib/autosuggest/custom-elements.md +14 -14
  6. package/lib/autosuggest/helpers/renderer.d.ts +8 -0
  7. package/lib/autosuggest/helpers/renderer.js +35 -0
  8. package/lib/autosuggest/helpers/types.d.ts +101 -1
  9. package/lib/autosuggest/helpers/utils.d.ts +1 -8
  10. package/lib/autosuggest/helpers/utils.js +0 -27
  11. package/lib/autosuggest/index.d.ts +34 -32
  12. package/lib/autosuggest/index.js +246 -202
  13. package/lib/autosuggest/themes/halo/dark/index.js +1 -1
  14. package/lib/autosuggest/themes/halo/light/index.js +1 -1
  15. package/lib/autosuggest/themes/solar/charcoal/index.js +1 -1
  16. package/lib/autosuggest/themes/solar/pearl/index.js +1 -1
  17. package/lib/button/index.js +2 -1
  18. package/lib/button/themes/halo/dark/index.js +1 -1
  19. package/lib/button/themes/halo/light/index.js +1 -1
  20. package/lib/button/themes/solar/charcoal/index.js +1 -1
  21. package/lib/button/themes/solar/pearl/index.js +1 -1
  22. package/lib/calendar/index.d.ts +1 -1
  23. package/lib/calendar/themes/halo/dark/index.js +1 -1
  24. package/lib/calendar/themes/halo/light/index.js +1 -1
  25. package/lib/calendar/themes/solar/charcoal/index.js +1 -1
  26. package/lib/calendar/themes/solar/pearl/index.js +1 -1
  27. package/lib/chart/plugins/doughnut-center-label.js +1 -1
  28. package/lib/chart/themes/halo/dark/index.js +1 -1
  29. package/lib/chart/themes/halo/light/index.js +1 -1
  30. package/lib/checkbox/index.d.ts +8 -15
  31. package/lib/checkbox/index.js +19 -41
  32. package/lib/checkbox/themes/halo/dark/index.js +1 -1
  33. package/lib/checkbox/themes/halo/light/index.js +1 -1
  34. package/lib/checkbox/themes/solar/charcoal/index.js +1 -1
  35. package/lib/checkbox/themes/solar/pearl/index.js +1 -1
  36. package/lib/clock/custom-elements.json +10 -10
  37. package/lib/clock/custom-elements.md +1 -1
  38. package/lib/clock/index.d.ts +44 -16
  39. package/lib/clock/index.js +178 -61
  40. package/lib/clock/themes/halo/dark/index.js +1 -1
  41. package/lib/clock/themes/halo/light/index.js +1 -1
  42. package/lib/clock/themes/solar/charcoal/index.js +1 -1
  43. package/lib/clock/themes/solar/pearl/index.js +1 -1
  44. package/lib/combo-box/index.d.ts +4 -3
  45. package/lib/combo-box/index.js +7 -3
  46. package/lib/combo-box/themes/halo/dark/index.js +1 -1
  47. package/lib/combo-box/themes/halo/light/index.js +1 -1
  48. package/lib/combo-box/themes/solar/charcoal/index.js +1 -1
  49. package/lib/combo-box/themes/solar/pearl/index.js +1 -1
  50. package/lib/datetime-field/index.d.ts +1 -1
  51. package/lib/datetime-field/utils.d.ts +1 -1
  52. package/lib/datetime-picker/themes/halo/dark/index.js +1 -1
  53. package/lib/datetime-picker/themes/halo/light/index.js +1 -1
  54. package/lib/datetime-picker/themes/solar/charcoal/index.js +1 -1
  55. package/lib/datetime-picker/themes/solar/pearl/index.js +1 -1
  56. package/lib/email-field/themes/halo/dark/index.js +1 -1
  57. package/lib/email-field/themes/halo/light/index.js +1 -1
  58. package/lib/email-field/themes/solar/charcoal/index.js +1 -1
  59. package/lib/email-field/themes/solar/pearl/index.js +1 -1
  60. package/lib/flag/utils/FlagLoader.d.ts +2 -32
  61. package/lib/flag/utils/FlagLoader.js +2 -69
  62. package/lib/heatmap/index.d.ts +2 -2
  63. package/lib/heatmap/themes/halo/dark/index.js +1 -1
  64. package/lib/heatmap/themes/halo/light/index.js +1 -1
  65. package/lib/icon/utils/IconLoader.d.ts +2 -37
  66. package/lib/icon/utils/IconLoader.js +2 -76
  67. package/lib/index.d.ts +1 -1
  68. package/lib/index.js +1 -1
  69. package/lib/interactive-chart/themes/halo/dark/index.js +1 -1
  70. package/lib/interactive-chart/themes/halo/light/index.js +1 -1
  71. package/lib/item/helpers/types.d.ts +6 -6
  72. package/lib/item/index.d.ts +2 -2
  73. package/lib/item/index.js +0 -1
  74. package/lib/item/themes/halo/dark/index.js +1 -1
  75. package/lib/item/themes/halo/light/index.js +1 -1
  76. package/lib/list/elements/list-item.d.ts +30 -0
  77. package/lib/list/elements/list-item.js +19 -0
  78. package/lib/list/elements/list.d.ts +307 -0
  79. package/lib/list/elements/list.js +632 -0
  80. package/lib/list/helpers/renderer.d.ts +0 -1
  81. package/lib/list/helpers/renderer.js +1 -3
  82. package/lib/list/index.d.ts +3 -317
  83. package/lib/list/index.js +3 -641
  84. package/lib/list/themes/halo/dark/index.js +4 -1
  85. package/lib/list/themes/halo/light/index.js +5 -2
  86. package/lib/list/themes/solar/charcoal/index.js +4 -1
  87. package/lib/list/themes/solar/pearl/index.js +4 -1
  88. package/lib/multi-input/index.d.ts +1 -5
  89. package/lib/multi-input/index.js +17 -18
  90. package/lib/notification/themes/halo/dark/index.js +1 -1
  91. package/lib/notification/themes/halo/light/index.js +1 -1
  92. package/lib/notification/themes/solar/charcoal/index.js +1 -1
  93. package/lib/notification/themes/solar/pearl/index.js +1 -1
  94. package/lib/number-field/themes/halo/dark/index.js +1 -1
  95. package/lib/number-field/themes/halo/light/index.js +1 -1
  96. package/lib/number-field/themes/solar/charcoal/index.js +1 -1
  97. package/lib/number-field/themes/solar/pearl/index.js +1 -1
  98. package/lib/overlay/index.d.ts +2 -1
  99. package/lib/overlay-menu/helpers/constants.d.ts +6 -0
  100. package/lib/overlay-menu/helpers/constants.js +7 -0
  101. package/lib/overlay-menu/helpers/types.d.ts +0 -6
  102. package/lib/overlay-menu/helpers/types.js +1 -7
  103. package/lib/overlay-menu/index.d.ts +1 -1
  104. package/lib/overlay-menu/index.js +1 -1
  105. package/lib/password-field/themes/halo/dark/index.js +1 -1
  106. package/lib/password-field/themes/halo/light/index.js +1 -1
  107. package/lib/password-field/themes/solar/charcoal/index.js +1 -1
  108. package/lib/password-field/themes/solar/pearl/index.js +1 -1
  109. package/lib/pill/index.d.ts +11 -3
  110. package/lib/pill/index.js +25 -11
  111. package/lib/radio-button/index.d.ts +7 -11
  112. package/lib/radio-button/index.js +14 -25
  113. package/lib/radio-button/themes/halo/dark/index.js +1 -1
  114. package/lib/radio-button/themes/halo/light/index.js +1 -1
  115. package/lib/radio-button/themes/solar/charcoal/index.js +1 -1
  116. package/lib/radio-button/themes/solar/pearl/index.js +1 -1
  117. package/lib/rating/custom-elements.json +4 -4
  118. package/lib/rating/custom-elements.md +2 -2
  119. package/lib/rating/index.d.ts +84 -32
  120. package/lib/rating/index.js +209 -80
  121. package/lib/rating/themes/halo/dark/index.js +1 -1
  122. package/lib/rating/themes/halo/light/index.js +1 -1
  123. package/lib/rating/themes/solar/charcoal/index.js +1 -1
  124. package/lib/rating/themes/solar/pearl/index.js +1 -1
  125. package/lib/rating/utils.d.ts +9 -0
  126. package/lib/rating/utils.js +11 -0
  127. package/lib/search-field/themes/halo/dark/index.js +1 -1
  128. package/lib/search-field/themes/halo/light/index.js +1 -1
  129. package/lib/search-field/themes/solar/charcoal/index.js +1 -1
  130. package/lib/search-field/themes/solar/pearl/index.js +1 -1
  131. package/lib/select/index.d.ts +13 -1
  132. package/lib/select/index.js +25 -7
  133. package/lib/select/themes/halo/dark/index.js +1 -1
  134. package/lib/select/themes/halo/light/index.js +1 -1
  135. package/lib/select/themes/solar/charcoal/index.js +1 -1
  136. package/lib/select/themes/solar/pearl/index.js +1 -1
  137. package/lib/slider/constants.d.ts +5 -1
  138. package/lib/slider/constants.js +6 -1
  139. package/lib/slider/index.d.ts +112 -49
  140. package/lib/slider/index.js +331 -182
  141. package/lib/slider/themes/halo/dark/index.js +1 -1
  142. package/lib/slider/themes/halo/light/index.js +1 -1
  143. package/lib/slider/themes/solar/charcoal/index.js +1 -1
  144. package/lib/slider/themes/solar/pearl/index.js +1 -1
  145. package/lib/slider/utils.d.ts +1 -9
  146. package/lib/slider/utils.js +1 -18
  147. package/lib/sparkline/themes/halo/dark/index.js +1 -1
  148. package/lib/sparkline/themes/halo/light/index.js +1 -1
  149. package/lib/tab/themes/halo/dark/index.js +1 -1
  150. package/lib/tab/themes/halo/light/index.js +1 -1
  151. package/lib/tab/themes/solar/charcoal/index.js +1 -1
  152. package/lib/tab/themes/solar/pearl/index.js +1 -1
  153. package/lib/tab-bar/index.d.ts +6 -7
  154. package/lib/tab-bar/index.js +12 -10
  155. package/lib/tab-bar/themes/halo/dark/index.js +1 -0
  156. package/lib/tab-bar/themes/halo/light/index.js +1 -0
  157. package/lib/tab-bar/themes/solar/charcoal/index.js +1 -0
  158. package/lib/tab-bar/themes/solar/pearl/index.js +1 -0
  159. package/lib/text-field/index.js +2 -3
  160. package/lib/text-field/themes/halo/dark/index.js +1 -1
  161. package/lib/text-field/themes/halo/light/index.js +1 -1
  162. package/lib/text-field/themes/solar/charcoal/index.js +1 -1
  163. package/lib/text-field/themes/solar/pearl/index.js +1 -1
  164. package/lib/toggle/index.d.ts +7 -10
  165. package/lib/toggle/index.js +14 -24
  166. package/lib/toggle/themes/halo/dark/index.js +1 -1
  167. package/lib/toggle/themes/halo/light/index.js +1 -1
  168. package/lib/toggle/themes/solar/charcoal/index.js +1 -1
  169. package/lib/toggle/themes/solar/pearl/index.js +1 -1
  170. package/lib/tooltip/helpers/overflow-tooltip.d.ts +11 -4
  171. package/lib/tooltip/helpers/overflow-tooltip.js +34 -6
  172. package/lib/tooltip/index.d.ts +2 -2
  173. package/lib/tooltip/index.js +2 -2
  174. package/lib/tree/elements/tree-item.d.ts +4 -0
  175. package/lib/tree/elements/tree-item.js +5 -2
  176. package/lib/tree/elements/tree.d.ts +7 -0
  177. package/lib/tree/elements/tree.js +12 -1
  178. package/lib/tree/helpers/renderer.d.ts +0 -1
  179. package/lib/tree/helpers/renderer.js +0 -2
  180. package/lib/tree/index.d.ts +2 -1
  181. package/lib/tree/themes/halo/dark/index.js +2 -2
  182. package/lib/tree/themes/halo/light/index.js +3 -3
  183. package/lib/tree/themes/solar/charcoal/index.js +2 -2
  184. package/lib/tree/themes/solar/pearl/index.js +2 -2
  185. package/lib/tree-select/index.js +15 -5
  186. package/lib/tree-select/themes/halo/dark/index.js +1 -1
  187. package/lib/tree-select/themes/halo/light/index.js +1 -1
  188. package/lib/tree-select/themes/solar/charcoal/index.js +1 -1
  189. package/lib/tree-select/themes/solar/pearl/index.js +1 -1
  190. package/lib/version.js +1 -1
  191. package/package.json +20 -19
  192. package/lib/clock/utils/timestamps.d.ts +0 -6
  193. package/lib/clock/utils/timestamps.js +0 -6
@@ -1,3 +1,3 @@
1
1
  import '@refinitiv-ui/elements/icon/themes/solar/charcoal';
2
2
 
3
- elf.customStyles.define('ef-password-field', ':host{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font-family:inherit;font-size:13rem;font-weight:400;height:23px;width:140px;max-width:100%;padding:0 5px;margin:1px 0;outline:0;box-sizing:border-box;display:inline-flex;align-items:center;position:relative;vertical-align:middle;color:#c2c2c2;border-radius:0;text-overflow:ellipsis;background-color:#000;border:1px solid #4a4a52}:host([type=number]){padding-right:0}:host([error]),:host([error][warning]){border:1px solid #f5475b}:host([error][disabled]),:host([error][warning][disabled]){color:rgba(194,194,194,.6);border:1px solid rgba(245,71,91,.6)}:host ::-ms-clear{display:none}:host [part=input]{color:inherit;padding:0;margin:0;flex:1 1 auto;min-width:0;width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-overflow:ellipsis;touch-action:manipulation}:host [part=input]::-webkit-clear-button,:host [part=input]::-webkit-inner-spin-button,:host [part=input]::-webkit-search-cancel-button,:host [part=input]::-webkit-search-decoration{-webkit-appearance:none}:host [part=input]:invalid{box-shadow:none}:host [part=icon]{color:#e2e2e2;min-width:1em}:host([disabled]) [part=input]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host([disabled]){border:1px solid rgba(74,74,82,.6);color:rgba(194,194,194,.6)}:host([readonly]){border:1px solid rgba(74,74,82,.6)}:host(:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #77777d}:host([warning]){background-color:#000;border:1px solid #f93}:host([warning][disabled]){border:1px solid rgba(255,153,51,.6);color:rgba(194,194,194,.6)}:host([warning][readonly]){border:1px solid rgba(255,153,51,.6)}:host([warning]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #ffb366}:host([error]),:host([error][warning]:not([focused])){background-color:#000;border:1px solid #f5475b}:host([error][disabled]),:host([error][warning]:not([focused])[disabled]){border:1px solid rgba(245,71,91,.6);color:rgba(194,194,194,.6)}:host([error][readonly]),:host([error][warning]:not([focused])[readonly]){border:1px solid rgba(245,71,91,.6)}:host([error]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover),:host([error][warning]:not([focused]):not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #f87584}:host([highlight]){background-color:#1b252f;border:1px solid #4a4a52}:host([highlight][disabled]){border:1px solid rgba(74,74,82,.6);color:rgba(194,194,194,.6);background-color:rgba(27,37,47,.6)}:host([highlight][readonly]){border:1px solid rgba(74,74,82,.6)}:host([highlight]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #77777d}:host([indirect]){color:#0fd;background-color:#000;border:1px solid #898623}:host([indirect][disabled]){border:1px solid rgba(137,134,35,.6);color:rgba(0,255,221,.6)}:host([indirect][readonly]){border:1px solid rgba(137,134,35,.6)}:host([indirect]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #a7a45a}:host([focused]){background-size:100% 2px,100% 1px!important;background-position:center bottom!important;border-color:#f93;border-style:dotted}:host([disabled]) [part=input]::-webkit-input-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]::-moz-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]:-ms-input-placeholder{color:rgba(102,101,112,.6)}:host [part=icon]:hover{cursor:pointer}:host [part=input]::-ms-reveal{display:none}');
3
+ elf.customStyles.define('ef-password-field', ':host{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font-family:inherit;font-size:13rem;font-weight:400;height:23px;width:140px;max-width:100%;padding:0 5px;margin:1px 0;outline:0;box-sizing:border-box;display:inline-flex;align-items:center;position:relative;vertical-align:middle;color:#c2c2c2;border-radius:0;text-overflow:ellipsis;background-color:#000;border:1px solid #4a4a52}:host([type=number]){padding-right:0}:host([error]),:host([error][warning]){border:1px solid #f5475b}:host([error][disabled]),:host([error][warning][disabled]){color:rgba(194,194,194,.6);border:1px solid rgba(245,71,91,.6)}:host ::-ms-clear{display:none}:host [part=input]{color:inherit;padding:0;margin:0;flex:1 1 auto;min-width:0;width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-overflow:ellipsis;touch-action:manipulation}:host [part=input]::-webkit-clear-button,:host [part=input]::-webkit-inner-spin-button,:host [part=input]::-webkit-search-cancel-button,:host [part=input]::-webkit-search-decoration{-webkit-appearance:none}:host [part=input]:invalid{box-shadow:none}:host [part=icon]{color:#e2e2e2;min-width:1em}:host([disabled]) [part=input]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host([disabled]){border:1px solid rgba(74,74,82,.6);color:rgba(194,194,194,.6)}:host([readonly]){border:1px solid rgba(74,74,82,.6)}:host(:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #77777d}:host([warning]){background-color:#000;border:1px solid #f93}:host([warning][disabled]){border:1px solid rgba(255,153,51,.6);color:rgba(194,194,194,.6)}:host([warning][readonly]){border:1px solid rgba(255,153,51,.6)}:host([warning]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #ffb366}:host([error]),:host([error][warning]:not([focused])){background-color:#000;border:1px solid #f5475b}:host([error][disabled]),:host([error][warning]:not([focused])[disabled]){border:1px solid rgba(245,71,91,.6);color:rgba(194,194,194,.6)}:host([error][readonly]),:host([error][warning]:not([focused])[readonly]){border:1px solid rgba(245,71,91,.6)}:host([error]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover),:host([error][warning]:not([focused]):not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #f87584}:host([highlight]){background-color:#1b252f;border:1px solid #4a4a52}:host([highlight][disabled]){border:1px solid rgba(74,74,82,.6);color:rgba(194,194,194,.6);background-color:rgba(27,37,47,.6)}:host([highlight][readonly]){border:1px solid rgba(74,74,82,.6)}:host([highlight]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #77777d}:host([indirect]){color:#0fd;background-color:#000;border:1px solid #898623}:host([indirect][disabled]){border:1px solid rgba(137,134,35,.6);color:rgba(0,255,221,.6)}:host([indirect][readonly]){border:1px solid rgba(137,134,35,.6)}:host([indirect]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #a7a45a}:host([focused]){background-size:100% 2px,100% 1px!important;background-position:center bottom!important;border-color:#f93;border-style:dotted}:host([disabled]) [part=input]::-webkit-input-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]::-moz-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]:-ms-input-placeholder{color:rgba(102,101,112,.6)}:host [part=icon]:hover{cursor:pointer}:host [part=input]::-ms-reveal{display:none}');
@@ -1,3 +1,3 @@
1
1
  import '@refinitiv-ui/elements/icon/themes/solar/pearl';
2
2
 
3
- elf.customStyles.define('ef-password-field', ':host{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font-family:inherit;font-size:13rem;font-weight:400;height:23px;width:140px;max-width:100%;padding:0 5px;margin:1px 0;outline:0;box-sizing:border-box;display:inline-flex;align-items:center;position:relative;vertical-align:middle;color:#484848;border-radius:0;text-overflow:ellipsis;background-color:#fff;border:1px solid #a9afba}:host([type=number]){padding-right:0}:host([error]),:host([error][warning]){border:1px solid #d94255}:host([error][disabled]),:host([error][warning][disabled]){color:rgba(72,72,72,.6);border:1px solid rgba(217,66,85,.6)}:host ::-ms-clear{display:none}:host [part=input]{color:inherit;padding:0;margin:0;flex:1 1 auto;min-width:0;width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-overflow:ellipsis;touch-action:manipulation}:host [part=input]::-webkit-clear-button,:host [part=input]::-webkit-inner-spin-button,:host [part=input]::-webkit-search-cancel-button,:host [part=input]::-webkit-search-decoration{-webkit-appearance:none}:host [part=input]:invalid{box-shadow:none}:host [part=icon]{color:#acafb5;min-width:1em}:host([disabled]) [part=input]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host([disabled]){border:1px solid rgba(169,175,186,.6);color:rgba(72,72,72,.6)}:host([readonly]){border:1px solid rgba(169,175,186,.6)}:host(:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #bfc3cb}:host([warning]){background-color:#fff;border:1px solid #f93}:host([warning][disabled]){border:1px solid rgba(255,153,51,.6);color:rgba(72,72,72,.6)}:host([warning][readonly]){border:1px solid rgba(255,153,51,.6)}:host([warning]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #ffb366}:host([error]),:host([error][warning]:not([focused])){background-color:#fff;border:1px solid #d94255}:host([error][disabled]),:host([error][warning]:not([focused])[disabled]){border:1px solid rgba(217,66,85,.6);color:rgba(72,72,72,.6)}:host([error][readonly]),:host([error][warning]:not([focused])[readonly]){border:1px solid rgba(217,66,85,.6)}:host([error]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover),:host([error][warning]:not([focused]):not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #e37180}:host([highlight]){background-color:#b0ffff;border:1px solid #a9afba}:host([highlight][disabled]){border:1px solid rgba(169,175,186,.6);color:rgba(72,72,72,.6);background-color:rgba(176,255,255,.6)}:host([highlight][readonly]){border:1px solid rgba(169,175,186,.6)}:host([highlight]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #bfc3cb}:host([indirect]){color:#009494;background-color:#effefe;border:1px solid #898623}:host([indirect][disabled]){border:1px solid rgba(137,134,35,.6);color:rgba(0,148,148,.6)}:host([indirect][readonly]){border:1px solid rgba(137,134,35,.6)}:host([indirect]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #a7a45a}:host([focused]){background-size:100% 2px,100% 1px!important;background-position:center bottom!important;border-color:#ffb266;border-style:dotted}:host([disabled]) [part=input]::-webkit-input-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]::-moz-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]:-ms-input-placeholder{color:rgba(102,101,112,.6)}:host [part=icon]:hover{cursor:pointer}:host [part=input]::-ms-reveal{display:none}');
3
+ elf.customStyles.define('ef-password-field', ':host{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font-family:inherit;font-size:13rem;font-weight:400;height:23px;width:140px;max-width:100%;padding:0 5px;margin:1px 0;outline:0;box-sizing:border-box;display:inline-flex;align-items:center;position:relative;vertical-align:middle;color:#484848;border-radius:0;text-overflow:ellipsis;background-color:#fff;border:1px solid #a9afba}:host([type=number]){padding-right:0}:host([error]),:host([error][warning]){border:1px solid #d94255}:host([error][disabled]),:host([error][warning][disabled]){color:rgba(72,72,72,.6);border:1px solid rgba(217,66,85,.6)}:host ::-ms-clear{display:none}:host [part=input]{color:inherit;padding:0;margin:0;flex:1 1 auto;min-width:0;width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-overflow:ellipsis;touch-action:manipulation}:host [part=input]::-webkit-clear-button,:host [part=input]::-webkit-inner-spin-button,:host [part=input]::-webkit-search-cancel-button,:host [part=input]::-webkit-search-decoration{-webkit-appearance:none}:host [part=input]:invalid{box-shadow:none}:host [part=icon]{color:#acafb5;min-width:1em}:host([disabled]) [part=input]{-webkit-user-select:none;-moz-user-select:none;user-select:none}:host([disabled]){border:1px solid rgba(169,175,186,.6);color:rgba(72,72,72,.6)}:host([readonly]){border:1px solid rgba(169,175,186,.6)}:host(:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #bfc3cb}:host([warning]){background-color:#fff;border:1px solid #f93}:host([warning][disabled]){border:1px solid rgba(255,153,51,.6);color:rgba(72,72,72,.6)}:host([warning][readonly]){border:1px solid rgba(255,153,51,.6)}:host([warning]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #ffb366}:host([error]),:host([error][warning]:not([focused])){background-color:#fff;border:1px solid #d94255}:host([error][disabled]),:host([error][warning]:not([focused])[disabled]){border:1px solid rgba(217,66,85,.6);color:rgba(72,72,72,.6)}:host([error][readonly]),:host([error][warning]:not([focused])[readonly]){border:1px solid rgba(217,66,85,.6)}:host([error]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover),:host([error][warning]:not([focused]):not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #e37180}:host([highlight]){background-color:#b0ffff;border:1px solid #a9afba}:host([highlight][disabled]){border:1px solid rgba(169,175,186,.6);color:rgba(72,72,72,.6);background-color:rgba(176,255,255,.6)}:host([highlight][readonly]){border:1px solid rgba(169,175,186,.6)}:host([highlight]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #bfc3cb}:host([indirect]){color:#009494;background-color:#effefe;border:1px solid #898623}:host([indirect][disabled]){border:1px solid rgba(137,134,35,.6);color:rgba(0,148,148,.6)}:host([indirect][readonly]){border:1px solid rgba(137,134,35,.6)}:host([indirect]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #a7a45a}:host([focused]){background-size:100% 2px,100% 1px!important;background-position:center bottom!important;border-color:#ffb266;border-style:dotted}:host([disabled]) [part=input]::-webkit-input-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]::-moz-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]:-ms-input-placeholder{color:rgba(102,101,112,.6)}:host [part=icon]:hover{cursor:pointer}:host [part=input]::-ms-reveal{display:none}');
@@ -49,14 +49,22 @@ export declare class Pill extends ControlElement {
49
49
  * Set property pressed true on tap start and false on tap end
50
50
  */
51
51
  private pressed;
52
- private closeElement?;
52
+ /**
53
+ * Reference to the close icon
54
+ */
55
+ private closeIconRef;
56
+ /**
57
+ * Reference to the label element
58
+ */
59
+ private labelRef;
53
60
  protected firstUpdated(changedProperties: PropertyValues): void;
54
61
  /**
55
- * Updates the element
62
+ * Compute property values that depend on other properties
63
+ * and are used in the rest of the update process.
56
64
  * @param changedProperties Properties that has changed
57
65
  * @returns {void}
58
66
  */
59
- protected update(changedProperties: PropertyValues): void;
67
+ protected willUpdate(changedProperties: PropertyValues): void;
60
68
  /**
61
69
  * Handles key down event
62
70
  * @param event Key down event object
package/lib/pill/index.js CHANGED
@@ -2,7 +2,9 @@ import { __decorate } from "tslib";
2
2
  import { ControlElement, css, html } from '@refinitiv-ui/core';
3
3
  import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
4
4
  import { property } from '@refinitiv-ui/core/decorators/property.js';
5
- import { query } from '@refinitiv-ui/core/decorators/query.js';
5
+ import { registerOverflowTooltip } from '../tooltip/index.js';
6
+ import { isElementOverflown } from '@refinitiv-ui/utils/element.js';
7
+ import { createRef, ref } from '@refinitiv-ui/core/directives/ref.js';
6
8
  import { VERSION } from '../version.js';
7
9
  import '../icon/index.js';
8
10
  /**
@@ -43,6 +45,14 @@ let Pill = class Pill extends ControlElement {
43
45
  * Set property pressed true on tap start and false on tap end
44
46
  */
45
47
  this.pressed = false;
48
+ /**
49
+ * Reference to the close icon
50
+ */
51
+ this.closeIconRef = createRef();
52
+ /**
53
+ * Reference to the label element
54
+ */
55
+ this.labelRef = createRef();
46
56
  }
47
57
  /**
48
58
  * Element version number
@@ -77,13 +87,16 @@ let Pill = class Pill extends ControlElement {
77
87
  this.addEventListener('tapend', this.onEndPress);
78
88
  this.addEventListener('mouseleave', this.onEndPress);
79
89
  this.addEventListener('keydown', this.onKeyDown);
90
+ registerOverflowTooltip(this, undefined, () => this.labelRef.value ? isElementOverflown(this.labelRef.value) : false);
80
91
  }
81
92
  /**
82
- * Updates the element
93
+ * Compute property values that depend on other properties
94
+ * and are used in the rest of the update process.
83
95
  * @param changedProperties Properties that has changed
84
96
  * @returns {void}
85
97
  */
86
- update(changedProperties) {
98
+ willUpdate(changedProperties) {
99
+ super.willUpdate(changedProperties);
87
100
  if (changedProperties.has('toggles') || changedProperties.has('active')) {
88
101
  if (this.toggles) {
89
102
  this.setAttribute('aria-pressed', String(this.active));
@@ -92,7 +105,6 @@ let Pill = class Pill extends ControlElement {
92
105
  this.removeAttribute('aria-pressed');
93
106
  }
94
107
  }
95
- super.update(changedProperties);
96
108
  }
97
109
  /**
98
110
  * Handles key down event
@@ -105,7 +117,12 @@ let Pill = class Pill extends ControlElement {
105
117
  }
106
118
  }
107
119
  get closeTemplate() {
108
- return this.clears && !this.readonly ? html `<ef-icon part="close" icon="cross" aria-hidden="true" @tap="${this.clear}"></ef-icon>` : null;
120
+ return this.clears && !this.readonly ? html `<ef-icon
121
+ ${ref(this.closeIconRef)}
122
+ part="close"
123
+ icon="cross"
124
+ aria-hidden="true"
125
+ @tap="${this.clear}"></ef-icon>` : null;
109
126
  }
110
127
  /**
111
128
  * A `TemplateResult` that will be used
@@ -114,7 +131,7 @@ let Pill = class Pill extends ControlElement {
114
131
  */
115
132
  render() {
116
133
  return html `
117
- <div part="content" role="none">
134
+ <div ${ref(this.labelRef)} part="content" role="none">
118
135
  <slot>...</slot>
119
136
  </div>
120
137
  ${this.closeTemplate}
@@ -135,8 +152,8 @@ let Pill = class Pill extends ControlElement {
135
152
  * @returns true if element property pressed could be set
136
153
  */
137
154
  couldBePressed(event) {
138
- const element = this.closeElement;
139
- return !this.readonly && (!element || !event.composedPath().includes(element));
155
+ const closeIconEl = this.closeIconRef.value;
156
+ return !this.readonly && (!closeIconEl || !event.composedPath().includes(closeIconEl));
140
157
  }
141
158
  /**
142
159
  * change state of `pressed` property to be false if mouse leave pill or tap is end on pill
@@ -180,9 +197,6 @@ __decorate([
180
197
  __decorate([
181
198
  property({ type: Boolean, reflect: true })
182
199
  ], Pill.prototype, "pressed", void 0);
183
- __decorate([
184
- query('[part=close]')
185
- ], Pill.prototype, "closeElement", void 0);
186
200
  Pill = __decorate([
187
201
  customElement('ef-pill', {
188
202
  alias: 'coral-pill'
@@ -31,20 +31,10 @@ export declare class RadioButton extends ControlElement {
31
31
  * @return CSS template
32
32
  */
33
33
  static get styles(): CSSResultGroup;
34
- private _checked;
35
34
  /**
36
35
  * Radio button checked state
37
- * @param value checked state
38
- * @default false
39
- * @returns {void}
40
- */
41
- set checked(value: boolean);
42
- get checked(): boolean;
43
- /**
44
- * Aria indicating checked state
45
- * @ignore
46
36
  */
47
- ariaChecked: string;
37
+ checked: boolean;
48
38
  /**
49
39
  * Getter for label
50
40
  */
@@ -59,6 +49,12 @@ export declare class RadioButton extends ControlElement {
59
49
  * @returns {void}
60
50
  */
61
51
  disconnectedCallback(): void;
52
+ /**
53
+ * Called before update() to compute values needed during the update.
54
+ * @param changedProperties Properties that has changed
55
+ * @returns {void}
56
+ */
57
+ protected willUpdate(changedProperties: PropertyValues): void;
62
58
  /**
63
59
  * Invoked whenever the element is updated
64
60
  * @param changedProperties changed properties
@@ -27,12 +27,10 @@ let RadioButton = class RadioButton extends ControlElement {
27
27
  constructor() {
28
28
  super(...arguments);
29
29
  this.defaultRole = 'radio';
30
- this._checked = false;
31
30
  /**
32
- * Aria indicating checked state
33
- * @ignore
31
+ * Radio button checked state
34
32
  */
35
- this.ariaChecked = String(this.checked);
33
+ this.checked = false;
36
34
  }
37
35
  /**
38
36
  * Element version number
@@ -71,23 +69,6 @@ let RadioButton = class RadioButton extends ControlElement {
71
69
  }
72
70
  `;
73
71
  }
74
- /**
75
- * Radio button checked state
76
- * @param value checked state
77
- * @default false
78
- * @returns {void}
79
- */
80
- set checked(value) {
81
- const oldValue = this._checked;
82
- if (oldValue !== value) {
83
- this._checked = value;
84
- this.ariaChecked = String(value);
85
- void this.requestUpdate('checked', oldValue);
86
- }
87
- }
88
- get checked() {
89
- return this._checked;
90
- }
91
72
  /**
92
73
  * Called when connected to DOM
93
74
  * @returns {void}
@@ -105,6 +86,17 @@ let RadioButton = class RadioButton extends ControlElement {
105
86
  removeFromRegistry(this);
106
87
  super.disconnectedCallback();
107
88
  }
89
+ /**
90
+ * Called before update() to compute values needed during the update.
91
+ * @param changedProperties Properties that has changed
92
+ * @returns {void}
93
+ */
94
+ willUpdate(changedProperties) {
95
+ super.willUpdate(changedProperties);
96
+ if (changedProperties.has('checked')) {
97
+ this.setAttribute('aria-checked', String(this.checked));
98
+ }
99
+ }
108
100
  /**
109
101
  * Invoked whenever the element is updated
110
102
  * @param changedProperties changed properties
@@ -246,10 +238,7 @@ let RadioButton = class RadioButton extends ControlElement {
246
238
  };
247
239
  __decorate([
248
240
  property({ type: Boolean, reflect: true })
249
- ], RadioButton.prototype, "checked", null);
250
- __decorate([
251
- property({ type: String, reflect: true, attribute: 'aria-checked' })
252
- ], RadioButton.prototype, "ariaChecked", void 0);
241
+ ], RadioButton.prototype, "checked", void 0);
253
242
  __decorate([
254
243
  query('[part=label]', true)
255
244
  ], RadioButton.prototype, "labelEl", void 0);
@@ -1,3 +1,3 @@
1
1
  import '@refinitiv-ui/elements/tooltip/themes/halo/dark';
2
2
 
3
- elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation;--check-color:#6678FF;color:#ccc}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#0d0d0d;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.5);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;border:1px solid #404040;width:14px;height:14px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#6678ff);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:8px;height:8px}:host [part=label]{margin:0 7px;cursor:default}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#ccc)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{border-color:#334bff;box-shadow:0 0 0 #334bff}}:host(:not([readonly])) [part=container]{cursor:pointer}:host(:hover:not([checked]):not([indeterminate]):not([readonly])) [part=container]{border-color:grey}:host(:hover:not([readonly])){color:#fff}:host([disabled]),:host([disabled]) [part=label]{opacity:.5}:host([checked]) [part=container]{border:1px solid #334bff}:host(:focus[readonly]:not([checked])) [part=container]{border-color:#404040}:host([focused=visible]){outline:#334bff solid 1px;outline-offset:2px}');
3
+ elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation;--check-color:#6678FF;color:#ccc}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#0d0d0d;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.5);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;border:1px solid #404040;width:14px;height:14px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#6678ff);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:8px;height:8px}:host [part=label]{margin:0 7px;cursor:default}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#ccc)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{border-color:#334bff;box-shadow:0 0 0 #334bff}}:host(:not([readonly])) [part=container]{cursor:pointer}:host(:hover:not([checked]):not([indeterminate]):not([readonly])) [part=container]{border-color:grey}:host(:hover:not([readonly])){color:#fff}:host([disabled]),:host([disabled]) [part=label]{opacity:.5}:host([checked]) [part=container]{border:1px solid #334bff}:host(:focus[readonly]:not([checked])) [part=container]{border-color:#404040}:host([focused=visible]){outline:#334bff solid 1px;outline-offset:2px}');
@@ -1,3 +1,3 @@
1
1
  import '@refinitiv-ui/elements/tooltip/themes/halo/light';
2
2
 
3
- elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation;--check-color:#334BFF;color:#404040}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#fff;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.25);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;border:1px solid #595959;width:14px;height:14px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#334bff);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:8px;height:8px}:host [part=label]{margin:0 7px;cursor:default}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#404040)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{border-color:#334bff;box-shadow:0 0 0 #334bff}}:host(:not([readonly])) [part=container]{cursor:pointer}:host(:hover:not([checked]):not([indeterminate]):not([readonly])) [part=container]{border-color:#0d0d0d}:host(:hover:not([readonly])){color:#0d0d0d}:host([disabled]),:host([disabled]) [part=label]{opacity:.5}:host([checked]) [part=container]{border:1px solid #334bff}:host(:focus[readonly]:not([checked])) [part=container]{border-color:#595959}:host([focused=visible]){outline:#334bff solid 1px;outline-offset:2px}');
3
+ elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation;--check-color:#334BFF;color:#404040}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#fff;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.25);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;border:1px solid #595959;width:14px;height:14px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#334bff);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:8px;height:8px}:host [part=label]{margin:0 7px;cursor:default}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#404040)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{border-color:#334bff;box-shadow:0 0 0 #334bff}}:host(:not([readonly])) [part=container]{cursor:pointer}:host(:hover:not([checked]):not([indeterminate]):not([readonly])) [part=container]{border-color:#0d0d0d}:host(:hover:not([readonly])){color:#0d0d0d}:host([disabled]),:host([disabled]) [part=label]{opacity:.5}:host([checked]) [part=container]{border:1px solid #334bff}:host(:focus[readonly]:not([checked])) [part=container]{border-color:#595959}:host([focused=visible]){outline:#334bff solid 1px;outline-offset:2px}');
@@ -1,3 +1,3 @@
1
1
  import '@refinitiv-ui/elements/tooltip/themes/solar/charcoal';
2
2
 
3
- elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#000;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.6);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;border:1px solid #4a4a52;height:11px;width:11px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#f93);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:7px;height:7px}:host [part=label]{cursor:default;margin:0 4px}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#e2e2e2)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65;opacity:rgba(194,194,194,.6)}:host([checked][disabled]) [part=check]{color:#c2c2c2}:host([checked][readonly]) [part=check]{color:rgba(194,194,194,.5)}:host([disabled]) [part=container],:host([readonly]) [part=container]{color:rgba(194,194,194,.6);border-color:rgba(74,74,82,.6);background-color:rgba(0,0,0,.6)}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{box-shadow:0 0 0 #f93;border:1px dotted #f93}}');
3
+ elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#000;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.6);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;border:1px solid #4a4a52;height:11px;width:11px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#f93);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:7px;height:7px}:host [part=label]{cursor:default;margin:0 4px}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#e2e2e2)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65;opacity:rgba(194,194,194,.6)}:host([checked][disabled]) [part=check]{color:#c2c2c2}:host([checked][readonly]) [part=check]{color:rgba(194,194,194,.5)}:host([disabled]) [part=container],:host([readonly]) [part=container]{color:rgba(194,194,194,.6);border-color:rgba(74,74,82,.6);background-color:rgba(0,0,0,.6)}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{box-shadow:0 0 0 #f93;border:1px dotted #f93}}');
@@ -1,3 +1,3 @@
1
1
  import '@refinitiv-ui/elements/tooltip/themes/solar/pearl';
2
2
 
3
- elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#fff;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.3);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;border:1px solid #a9afba;height:11px;width:11px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#ee7600);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:7px;height:7px}:host [part=label]{cursor:default;margin:0 4px}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#acafb5)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65;opacity:rgba(72,72,72,.6)}:host([checked][disabled]) [part=check]{color:#a9afba}:host([checked][readonly]) [part=check]{color:rgba(169,175,186,.5)}:host([disabled]) [part=container],:host([readonly]) [part=container]{color:rgba(72,72,72,.6);border-color:rgba(169,175,186,.6);background-color:rgba(255,255,255,.6)}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{box-shadow:0 0 0 #ffb266;border:1px dotted #ffb266}}');
3
+ elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#fff;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.3);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;border:1px solid #a9afba;height:11px;width:11px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#ee7600);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:7px;height:7px}:host [part=label]{cursor:default;margin:0 4px}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#acafb5)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65;opacity:rgba(72,72,72,.6)}:host([checked][disabled]) [part=check]{color:#a9afba}:host([checked][readonly]) [part=check]{color:rgba(169,175,186,.5)}:host([disabled]) [part=container],:host([readonly]) [part=container]{color:rgba(72,72,72,.6);border-color:rgba(169,175,186,.6);background-color:rgba(255,255,255,.6)}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{box-shadow:0 0 0 #ffb266;border:1px dotted #ffb266}}');
@@ -15,13 +15,13 @@
15
15
  "name": "max",
16
16
  "description": "Set number of total stars",
17
17
  "type": "string",
18
- "default": "\"5\""
18
+ "default": "\"'5'\""
19
19
  },
20
20
  {
21
21
  "name": "value",
22
22
  "description": "Set number of selected stars. Value can be any number between 0 and `max`.\nDecimal values are calculated to empty star (0 - .25); half-star (.25 - .75) and full star (.75 - 1)",
23
23
  "type": "string",
24
- "default": "\"0\""
24
+ "default": "\"'0'\""
25
25
  }
26
26
  ],
27
27
  "properties": [
@@ -37,14 +37,14 @@
37
37
  "attribute": "max",
38
38
  "description": "Set number of total stars",
39
39
  "type": "string",
40
- "default": "\"5\""
40
+ "default": "\"'5'\""
41
41
  },
42
42
  {
43
43
  "name": "value",
44
44
  "attribute": "value",
45
45
  "description": "Set number of selected stars. Value can be any number between 0 and `max`.\nDecimal values are calculated to empty star (0 - .25); half-star (.25 - .75) and full star (.75 - 1)",
46
46
  "type": "string",
47
- "default": "\"0\""
47
+ "default": "\"'0'\""
48
48
  }
49
49
  ],
50
50
  "events": [
@@ -7,8 +7,8 @@ Star visualisation component that is generally used for ranking
7
7
  | Property | Attribute | Type | Default | Description |
8
8
  |---------------|---------------|-----------|---------|--------------------------------------------------|
9
9
  | `interactive` | `interactive` | `boolean` | false | Make it possible to interact with rating control and change the value |
10
- | `max` | `max` | `string` | "5" | Set number of total stars |
11
- | `value` | `value` | `string` | "0" | Set number of selected stars. Value can be any number between 0 and `max`.<br />Decimal values are calculated to empty star (0 - .25); half-star (.25 - .75) and full star (.75 - 1) |
10
+ | `max` | `max` | `string` | "'5'" | Set number of total stars |
11
+ | `value` | `value` | `string` | "'0'" | Set number of selected stars. Value can be any number between 0 and `max`.<br />Decimal values are calculated to empty star (0 - .25); half-star (.25 - .75) and full star (.75 - 1) |
12
12
 
13
13
  ## Events
14
14
 
@@ -10,64 +10,116 @@ export declare class Rating extends BasicElement {
10
10
  * @returns version number
11
11
  */
12
12
  static get version(): string;
13
- private items;
14
- private valuePrevious;
13
+ /**
14
+ * A `CSSResultGroup` that will be used
15
+ * to style the host, slotted children
16
+ * and the internal template of the element.
17
+ * @returns CSS template
18
+ */
19
+ static get styles(): CSSResultGroup;
20
+ private MAX_VALUE;
21
+ private MIN_VALUE;
15
22
  /**
16
23
  * Make it possible to interact with rating control and change the value
17
24
  */
18
25
  interactive: boolean;
19
26
  /**
20
- * Set number of total stars
21
- */
22
- max: string;
27
+ * Internal max value of rating.
28
+ * Controlled by public setter and getter
29
+ */
30
+ private _max;
31
+ /**
32
+ * Set number of total stars
33
+ * @param max max value
34
+ * @default '5'
35
+ */
36
+ set max(max: string);
37
+ get max(): string;
23
38
  /**
24
- * Set number of selected stars. Value can be any number between 0 and `max`.
25
- * Decimal values are calculated to empty star (0 - .25); half-star (.25 - .75) and full star (.75 - 1)
26
- */
27
- value: string;
39
+ * Converts max value from string to number for calculations
40
+ * @returns maximum value of rating as a number
41
+ */
42
+ private get maxNumber();
28
43
  /**
29
- * Get stars element of container
44
+ * Internal value of rating.
45
+ * Controlled by public setter and getter
30
46
  */
31
- private stars;
47
+ private _value;
48
+ /**
49
+ * Set number of selected stars. Value can be any number between 0 and `max`.
50
+ * Decimal values are calculated to empty star (0 - .25); half-star (.25 - .75) and full star (.75 - 1)
51
+ * @param value Element value
52
+ * @default '0'
53
+ */
54
+ set value(value: string);
55
+ get value(): string;
32
56
  /**
33
57
  * Converts value from string to number for calculations
34
58
  * @returns value of rating as a number
35
59
  */
36
60
  private get valueNumber();
37
61
  /**
38
- * Converts max value from string to number for calculations
39
- * @returns maximum value of rating as a number
62
+ * Called before update() to compute values needed during the update.
63
+ * @param changedProperties Properties that has changed
64
+ * @returns {void}
40
65
  */
41
- private get maxNumber();
66
+ protected willUpdate(changedProperties: PropertyValues): void;
42
67
  /**
43
- * Compute rating based on max number of stars and value.
44
- * Note: to speed up the component, hover state is implemented using CSS only.
45
- * CSS3 specification does not allow to select items preceding the hover, but allows to select the following items.
46
- * Therefore `flex: reverse` style is applied and the items are constructed in the reverse mode to mimic the correct behaviour.
47
- * @param {Number} max Number of stars
48
- * @param {Number} value Value
68
+ * Invoked when the element is first updated
69
+ * @param changedProperties changed properties
49
70
  * @returns {void}
50
71
  */
51
- private computeRating;
72
+ protected firstUpdated(changedProperties: PropertyValues): void;
52
73
  /**
53
- * Process click event to set the new value
54
- * @param {number} index index of star
74
+ * Handles interactive and aria attribute changes
55
75
  * @returns {void}
56
76
  */
57
- private handleTap;
77
+ private interactiveChanged;
58
78
  /**
59
- * Invoked whenever the element properties are updated
60
- * @param changedProperties changed properties
79
+ * Handles key input
80
+ * @param event Key down event object
61
81
  * @returns {void}
62
82
  */
63
- protected updated(changedProperties: PropertyValues): void;
83
+ protected onKeyDown(event: KeyboardEvent): void;
64
84
  /**
65
- * A `CSSResultGroup` that will be used
66
- * to style the host, slotted children
67
- * and the internal template of the element.
68
- * @returns CSS template
85
+ * Update value and fired value-changed event
86
+ * @param value value to updated
87
+ * @returns {void}
69
88
  */
70
- static get styles(): CSSResultGroup;
89
+ private notifyValueChange;
90
+ /**
91
+ * Check if passed value is a valid value
92
+ * @override
93
+ * @param value Value to check
94
+ * @returns {boolean} false if value is invalid
95
+ */
96
+ protected isValidValue(value: string): boolean;
97
+ /**
98
+ * Increases the value of rating by half or 1 if not specific amount but not exceed max value
99
+ * @param value step up value to specific number (optional)
100
+ * @returns {void}
101
+ */
102
+ private stepUp;
103
+ /**
104
+ * Decrease the value of rating by half or 1 if not specific amount but not exceed min value
105
+ * @param value step down value to specific number (optional)
106
+ * @returns {void}
107
+ */
108
+ private stepDown;
109
+ /**
110
+ * Process click event to set the new value
111
+ * @param {number} index index of star
112
+ * @returns {void}
113
+ */
114
+ private handleTap;
115
+ /**
116
+ * Render rating based on max number of stars and value.
117
+ * Note: to speed up the component, hover state is implemented using CSS only.
118
+ * CSS3 specification does not allow to select items preceding the hover, but allows to select the following items.
119
+ * Therefore `flex: reverse` style is applied and the items are constructed in the reverse mode to mimic the correct behaviour.
120
+ * @returns stars template
121
+ */
122
+ private get starsTemplate();
71
123
  /**
72
124
  * A `TemplateResult` that will be used
73
125
  * to render the updated internal template.