@dialpad/dialtone 9.65.0 → 9.66.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 (870) hide show
  1. package/dist/chunks/tokens-base-dark--ozK7f0P.js +4 -0
  2. package/dist/chunks/tokens-base-dark-V8E4WaJI.js +1 -0
  3. package/dist/chunks/tokens-base-light-LYlvM3eZ.js +1 -0
  4. package/dist/chunks/tokens-base-light-ljPrpLe2.js +4 -0
  5. package/dist/css/dialtone-default-theme.css +57 -55
  6. package/dist/css/dialtone-default-theme.min.css +1 -1
  7. package/dist/css/dialtone.css +8 -6
  8. package/dist/css/dialtone.min.css +1 -1
  9. package/dist/css/tokens/tokens-base-dark.css +5 -5
  10. package/dist/css/tokens/tokens-base-light.css +5 -5
  11. package/dist/css/tokens/tokens-dp-dark.css +44 -44
  12. package/dist/css/tokens/tokens-dp-light.css +44 -44
  13. package/dist/css/tokens/tokens-expressive-dark.css +50 -50
  14. package/dist/css/tokens/tokens-expressive-light.css +50 -50
  15. package/dist/css/tokens/tokens-expressive-sm-dark.css +50 -50
  16. package/dist/css/tokens/tokens-expressive-sm-light.css +50 -50
  17. package/dist/css/tokens/tokens-tmo-dark.css +44 -44
  18. package/dist/css/tokens/tokens-tmo-light.css +44 -44
  19. package/dist/themes/dp-dark.cjs +1 -1
  20. package/dist/themes/dp-dark.js +2 -2
  21. package/dist/themes/dp-light.cjs +1 -1
  22. package/dist/themes/dp-light.js +2 -2
  23. package/dist/themes/expressive-dark.cjs +1 -1
  24. package/dist/themes/expressive-dark.js +2 -2
  25. package/dist/themes/expressive-light.cjs +1 -1
  26. package/dist/themes/expressive-light.js +2 -2
  27. package/dist/themes/expressive-sm-dark.cjs +1 -1
  28. package/dist/themes/expressive-sm-dark.js +2 -2
  29. package/dist/themes/expressive-sm-light.cjs +1 -1
  30. package/dist/themes/expressive-sm-light.js +2 -2
  31. package/dist/themes/tmo-dark.cjs +1 -1
  32. package/dist/themes/tmo-dark.js +2 -2
  33. package/dist/themes/tmo-light.cjs +1 -1
  34. package/dist/themes/tmo-light.js +2 -2
  35. package/dist/tokens/css/tokens-base-dark.css +5 -5
  36. package/dist/tokens/css/tokens-base-light.css +5 -5
  37. package/dist/tokens/css/tokens-dp-dark.css +44 -44
  38. package/dist/tokens/css/tokens-dp-light.css +44 -44
  39. package/dist/tokens/css/tokens-expressive-dark.css +50 -50
  40. package/dist/tokens/css/tokens-expressive-light.css +50 -50
  41. package/dist/tokens/css/tokens-expressive-sm-dark.css +50 -50
  42. package/dist/tokens/css/tokens-expressive-sm-light.css +50 -50
  43. package/dist/tokens/css/tokens-tmo-dark.css +44 -44
  44. package/dist/tokens/css/tokens-tmo-light.css +44 -44
  45. package/dist/tokens/doc.json +14285 -14285
  46. package/dist/tokens/less/tokens-base-dark.less +5 -5
  47. package/dist/tokens/less/tokens-base-light.less +5 -5
  48. package/dist/tokens/less/tokens-dp-dark.less +44 -44
  49. package/dist/tokens/less/tokens-dp-light.less +44 -44
  50. package/dist/tokens/less/tokens-expressive-dark.less +50 -50
  51. package/dist/tokens/less/tokens-expressive-light.less +50 -50
  52. package/dist/tokens/less/tokens-expressive-sm-dark.less +50 -50
  53. package/dist/tokens/less/tokens-expressive-sm-light.less +50 -50
  54. package/dist/tokens/less/tokens-tmo-dark.less +44 -44
  55. package/dist/tokens/less/tokens-tmo-light.less +44 -44
  56. package/dist/tokens/tokens-base-dark.json +5 -5
  57. package/dist/tokens/tokens-base-light.json +5 -5
  58. package/dist/tokens/tokens-dp-dark.json +44 -44
  59. package/dist/tokens/tokens-dp-light.json +44 -44
  60. package/dist/tokens/tokens-expressive-dark.json +50 -50
  61. package/dist/tokens/tokens-expressive-light.json +50 -50
  62. package/dist/tokens/tokens-expressive-sm-dark.json +50 -50
  63. package/dist/tokens/tokens-expressive-sm-light.json +50 -50
  64. package/dist/tokens/tokens-tmo-dark.json +44 -44
  65. package/dist/tokens/tokens-tmo-light.json +44 -44
  66. package/dist/vue2/chunks/{dropdown-6UoczdUY.js → dropdown-YdCyJ5Dq.js} +77 -41
  67. package/dist/vue2/chunks/{dropdown-pHxnQPzT.js.map → dropdown-YdCyJ5Dq.js.map} +1 -1
  68. package/dist/vue2/chunks/{dropdown-pHxnQPzT.js → dropdown-mjrYu_mK.js} +77 -41
  69. package/dist/vue2/chunks/{dropdown-6UoczdUY.js.map → dropdown-mjrYu_mK.js.map} +1 -1
  70. package/dist/vue2/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  71. package/dist/vue2/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  72. package/dist/vue2/chunks/{icon_constants-Dy4MEUJL.js → icon_constants-TdxqLsS2.js} +3 -2
  73. package/dist/vue2/chunks/icon_constants-TdxqLsS2.js.map +1 -0
  74. package/dist/vue2/chunks/{icon_constants-QYpmdE0R.js → icon_constants-VEA0wI5C.js} +3 -2
  75. package/dist/vue2/chunks/icon_constants-VEA0wI5C.js.map +1 -0
  76. package/dist/vue2/chunks/{index-gj1jEXP4.js → index-DyqUqjvI.js} +122 -87
  77. package/dist/vue2/chunks/{index-eJ-WWRdf.js.map → index-DyqUqjvI.js.map} +1 -1
  78. package/dist/vue2/chunks/{index-anN_sx1F.js → index-NYFNZeHH.js} +5 -13
  79. package/dist/vue2/chunks/{index-anN_sx1F.js.map → index-NYFNZeHH.js.map} +1 -1
  80. package/dist/vue2/chunks/{index-ODod4Oj_.js → index-i65YVk-U.js} +5 -13
  81. package/dist/vue2/chunks/{index-ODod4Oj_.js.map → index-i65YVk-U.js.map} +1 -1
  82. package/dist/vue2/chunks/{index-eJ-WWRdf.js → index-mBWay1Qb.js} +122 -87
  83. package/dist/vue2/chunks/{index-gj1jEXP4.js.map → index-mBWay1Qb.js.map} +1 -1
  84. package/dist/vue2/chunks/{input-Axw-wFj2.js → input-Hqw33WBe.js} +3 -9
  85. package/dist/vue2/chunks/{input-Axw-wFj2.js.map → input-Hqw33WBe.js.map} +1 -1
  86. package/dist/vue2/chunks/{input-6kbd8Pju.js → input-PhJeBN6r.js} +3 -9
  87. package/dist/vue2/chunks/{input-6kbd8Pju.js.map → input-PhJeBN6r.js.map} +1 -1
  88. package/dist/vue2/chunks/{input_group-qVZaS5Bb.js → input_group-ZI7aVGEp.js} +4 -2
  89. package/dist/vue2/chunks/{input_group-m3cWYUfI.js.map → input_group-ZI7aVGEp.js.map} +1 -1
  90. package/dist/vue2/chunks/{input_group-m3cWYUfI.js → input_group-pE6ec9R3.js} +4 -2
  91. package/dist/vue2/chunks/{input_group-qVZaS5Bb.js.map → input_group-pE6ec9R3.js.map} +1 -1
  92. package/dist/vue2/chunks/{keyboard_list_navigation-ScXhrxya.js → keyboard_list_navigation-YIqTuw1W.js} +6 -5
  93. package/dist/{vue3/chunks/keyboard_list_navigation-fJnl_Iox.js.map → vue2/chunks/keyboard_list_navigation-YIqTuw1W.js.map} +1 -1
  94. package/dist/vue2/chunks/{keyboard_list_navigation-fJnl_Iox.js → keyboard_list_navigation-x3D6RcC7.js} +6 -5
  95. package/dist/vue2/chunks/{keyboard_list_navigation-ScXhrxya.js.map → keyboard_list_navigation-x3D6RcC7.js.map} +1 -1
  96. package/dist/vue2/chunks/link_constants-AfTWrr-n.js.map +1 -1
  97. package/dist/vue2/chunks/link_constants-x8NwdqmA.js.map +1 -1
  98. package/dist/vue2/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  99. package/dist/vue2/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  100. package/dist/vue2/chunks/{modal-XOr4kiNZ.js → modal-8X6poIZW.js} +4 -2
  101. package/dist/{vue3/chunks/modal-XOr4kiNZ.js.map → vue2/chunks/modal-8X6poIZW.js.map} +1 -1
  102. package/dist/vue2/chunks/{modal-VgxXAQFP.js → modal-OaWxzqNt.js} +4 -2
  103. package/dist/vue2/chunks/{modal-VgxXAQFP.js.map → modal-OaWxzqNt.js.map} +1 -1
  104. package/dist/vue2/chunks/{notice_action-IRUoLX2d.js → notice_action-qQr3K2TC.js} +71 -46
  105. package/dist/vue2/chunks/{notice_action-IRUoLX2d.js.map → notice_action-qQr3K2TC.js.map} +1 -1
  106. package/dist/vue2/chunks/{notice_action-P6uDyE9x.js → notice_action-tEvvMg7Q.js} +71 -46
  107. package/dist/vue2/chunks/{notice_action-P6uDyE9x.js.map → notice_action-tEvvMg7Q.js.map} +1 -1
  108. package/dist/vue2/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  109. package/dist/vue2/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  110. package/dist/vue2/chunks/{popover_constants-WsOUIY-m.js → popover_constants-6YkPPbnk.js} +26 -47
  111. package/dist/vue2/chunks/{popover_constants-WsOUIY-m.js.map → popover_constants-6YkPPbnk.js.map} +1 -1
  112. package/dist/vue2/chunks/{popover_constants-XnGWXaxX.js → popover_constants-h9MD6WUt.js} +26 -47
  113. package/dist/{vue3/chunks/popover_constants-WsOUIY-m.js.map → vue2/chunks/popover_constants-h9MD6WUt.js.map} +1 -1
  114. package/dist/vue2/chunks/{sr_only_close_button-ZaGdAHz7.js → sr_only_close_button-2Q9Ny1Nc.js} +24 -18
  115. package/dist/vue2/chunks/{sr_only_close_button-ZaGdAHz7.js.map → sr_only_close_button-2Q9Ny1Nc.js.map} +1 -1
  116. package/dist/vue2/chunks/{sr_only_close_button-81bHIpPu.js → sr_only_close_button-IjMVfBDE.js} +24 -18
  117. package/dist/vue2/chunks/{sr_only_close_button-81bHIpPu.js.map → sr_only_close_button-IjMVfBDE.js.map} +1 -1
  118. package/dist/vue2/chunks/stack_constants-HraCekPm.js.map +1 -1
  119. package/dist/vue2/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  120. package/dist/vue2/chunks/{tab-FcsV5VmK.js → tab-79yMX6m6.js} +86 -68
  121. package/dist/vue2/chunks/{tab-V4cb44Ry.js.map → tab-79yMX6m6.js.map} +1 -1
  122. package/dist/vue2/chunks/{tab-V4cb44Ry.js → tab-muPOS7JE.js} +86 -68
  123. package/dist/vue2/chunks/{tab-FcsV5VmK.js.map → tab-muPOS7JE.js.map} +1 -1
  124. package/dist/vue2/common/constants.cjs.map +1 -1
  125. package/dist/vue2/common/constants.js.map +1 -1
  126. package/dist/vue2/common/dates.cjs +3 -1
  127. package/dist/vue2/common/dates.cjs.map +1 -1
  128. package/dist/vue2/common/dates.js +3 -1
  129. package/dist/vue2/common/dates.js.map +1 -1
  130. package/dist/vue2/common/emoji.cjs +1 -1
  131. package/dist/vue2/common/emoji.js +1 -1
  132. package/dist/vue2/common/mixins.cjs +3 -3
  133. package/dist/vue2/common/mixins.js +3 -3
  134. package/dist/vue2/common/utils.cjs +8 -44
  135. package/dist/vue2/common/utils.cjs.map +1 -1
  136. package/dist/vue2/common/utils.js +8 -44
  137. package/dist/vue2/common/utils.js.map +1 -1
  138. package/dist/vue2/common/validators.cjs.map +1 -1
  139. package/dist/vue2/common/validators.js.map +1 -1
  140. package/dist/vue2/component-documentation.json +1 -1
  141. package/dist/vue2/dialtone-vue.cjs +12 -12
  142. package/dist/vue2/dialtone-vue.js +12 -12
  143. package/dist/vue2/lib/attachment-carousel.cjs +172 -48
  144. package/dist/vue2/lib/attachment-carousel.cjs.map +1 -1
  145. package/dist/vue2/lib/attachment-carousel.js +172 -48
  146. package/dist/vue2/lib/attachment-carousel.js.map +1 -1
  147. package/dist/vue2/lib/avatar.cjs +75 -58
  148. package/dist/vue2/lib/avatar.cjs.map +1 -1
  149. package/dist/vue2/lib/avatar.js +75 -58
  150. package/dist/vue2/lib/avatar.js.map +1 -1
  151. package/dist/vue2/lib/badge.cjs +31 -20
  152. package/dist/vue2/lib/badge.cjs.map +1 -1
  153. package/dist/vue2/lib/badge.js +31 -20
  154. package/dist/vue2/lib/badge.js.map +1 -1
  155. package/dist/vue2/lib/banner.cjs +53 -29
  156. package/dist/vue2/lib/banner.cjs.map +1 -1
  157. package/dist/vue2/lib/banner.js +53 -29
  158. package/dist/vue2/lib/banner.js.map +1 -1
  159. package/dist/vue2/lib/breadcrumbs.cjs +36 -30
  160. package/dist/vue2/lib/breadcrumbs.cjs.map +1 -1
  161. package/dist/vue2/lib/breadcrumbs.js +36 -30
  162. package/dist/vue2/lib/breadcrumbs.js.map +1 -1
  163. package/dist/vue2/lib/button-group.cjs +7 -14
  164. package/dist/vue2/lib/button-group.cjs.map +1 -1
  165. package/dist/vue2/lib/button-group.js +7 -14
  166. package/dist/vue2/lib/button-group.js.map +1 -1
  167. package/dist/vue2/lib/button.cjs +55 -62
  168. package/dist/vue2/lib/button.cjs.map +1 -1
  169. package/dist/vue2/lib/button.js +55 -62
  170. package/dist/vue2/lib/button.js.map +1 -1
  171. package/dist/vue2/lib/callbar-button-with-popover.cjs +91 -23
  172. package/dist/vue2/lib/callbar-button-with-popover.cjs.map +1 -1
  173. package/dist/vue2/lib/callbar-button-with-popover.js +91 -23
  174. package/dist/vue2/lib/callbar-button-with-popover.js.map +1 -1
  175. package/dist/vue2/lib/callbar-button.cjs +49 -33
  176. package/dist/vue2/lib/callbar-button.cjs.map +1 -1
  177. package/dist/vue2/lib/callbar-button.js +49 -33
  178. package/dist/vue2/lib/callbar-button.js.map +1 -1
  179. package/dist/vue2/lib/callbox.cjs +78 -15
  180. package/dist/vue2/lib/callbox.cjs.map +1 -1
  181. package/dist/vue2/lib/callbox.js +78 -15
  182. package/dist/vue2/lib/callbox.js.map +1 -1
  183. package/dist/vue2/lib/card.cjs +16 -23
  184. package/dist/vue2/lib/card.cjs.map +1 -1
  185. package/dist/vue2/lib/card.js +16 -23
  186. package/dist/vue2/lib/card.js.map +1 -1
  187. package/dist/vue2/lib/checkbox-group.cjs +3 -15
  188. package/dist/vue2/lib/checkbox-group.cjs.map +1 -1
  189. package/dist/vue2/lib/checkbox-group.js +3 -15
  190. package/dist/vue2/lib/checkbox-group.js.map +1 -1
  191. package/dist/vue2/lib/checkbox.cjs +52 -16
  192. package/dist/vue2/lib/checkbox.cjs.map +1 -1
  193. package/dist/vue2/lib/checkbox.js +52 -16
  194. package/dist/vue2/lib/checkbox.js.map +1 -1
  195. package/dist/vue2/lib/chip.cjs +58 -26
  196. package/dist/vue2/lib/chip.cjs.map +1 -1
  197. package/dist/vue2/lib/chip.js +58 -26
  198. package/dist/vue2/lib/chip.js.map +1 -1
  199. package/dist/vue2/lib/codeblock.cjs +4 -11
  200. package/dist/vue2/lib/codeblock.cjs.map +1 -1
  201. package/dist/vue2/lib/codeblock.js +4 -11
  202. package/dist/vue2/lib/codeblock.js.map +1 -1
  203. package/dist/vue2/lib/collapsible.cjs +91 -34
  204. package/dist/vue2/lib/collapsible.cjs.map +1 -1
  205. package/dist/vue2/lib/collapsible.js +91 -34
  206. package/dist/vue2/lib/collapsible.js.map +1 -1
  207. package/dist/vue2/lib/combobox-multi-select.cjs +131 -38
  208. package/dist/vue2/lib/combobox-multi-select.cjs.map +1 -1
  209. package/dist/vue2/lib/combobox-multi-select.js +131 -38
  210. package/dist/vue2/lib/combobox-multi-select.js.map +1 -1
  211. package/dist/vue2/lib/combobox-with-popover.cjs +130 -39
  212. package/dist/vue2/lib/combobox-with-popover.cjs.map +1 -1
  213. package/dist/vue2/lib/combobox-with-popover.js +130 -39
  214. package/dist/vue2/lib/combobox-with-popover.js.map +1 -1
  215. package/dist/vue2/lib/combobox.cjs +3 -3
  216. package/dist/vue2/lib/combobox.js +3 -3
  217. package/dist/vue2/lib/contact-centers-row.cjs +86 -29
  218. package/dist/vue2/lib/contact-centers-row.cjs.map +1 -1
  219. package/dist/vue2/lib/contact-centers-row.js +86 -29
  220. package/dist/vue2/lib/contact-centers-row.js.map +1 -1
  221. package/dist/vue2/lib/contact-info.cjs +95 -24
  222. package/dist/vue2/lib/contact-info.cjs.map +1 -1
  223. package/dist/vue2/lib/contact-info.js +95 -24
  224. package/dist/vue2/lib/contact-info.js.map +1 -1
  225. package/dist/vue2/lib/contact-row.cjs +61 -18
  226. package/dist/vue2/lib/contact-row.cjs.map +1 -1
  227. package/dist/vue2/lib/contact-row.js +61 -18
  228. package/dist/vue2/lib/contact-row.js.map +1 -1
  229. package/dist/vue2/lib/datepicker.cjs +361 -102
  230. package/dist/vue2/lib/datepicker.cjs.map +1 -1
  231. package/dist/vue2/lib/datepicker.js +361 -102
  232. package/dist/vue2/lib/datepicker.js.map +1 -1
  233. package/dist/vue2/lib/description-list.cjs +11 -12
  234. package/dist/vue2/lib/description-list.cjs.map +1 -1
  235. package/dist/vue2/lib/description-list.js +11 -12
  236. package/dist/vue2/lib/description-list.js.map +1 -1
  237. package/dist/vue2/lib/dropdown.cjs +13 -17
  238. package/dist/vue2/lib/dropdown.cjs.map +1 -1
  239. package/dist/vue2/lib/dropdown.js +13 -17
  240. package/dist/vue2/lib/dropdown.js.map +1 -1
  241. package/dist/vue2/lib/editor.cjs +409 -109
  242. package/dist/vue2/lib/editor.cjs.map +1 -1
  243. package/dist/vue2/lib/editor.js +409 -109
  244. package/dist/vue2/lib/editor.js.map +1 -1
  245. package/dist/vue2/lib/emoji-picker.cjs +512 -234
  246. package/dist/vue2/lib/emoji-picker.cjs.map +1 -1
  247. package/dist/vue2/lib/emoji-picker.js +512 -234
  248. package/dist/vue2/lib/emoji-picker.js.map +1 -1
  249. package/dist/vue2/lib/emoji-row.cjs +69 -31
  250. package/dist/vue2/lib/emoji-row.cjs.map +1 -1
  251. package/dist/vue2/lib/emoji-row.js +69 -31
  252. package/dist/vue2/lib/emoji-row.js.map +1 -1
  253. package/dist/vue2/lib/emoji-text-wrapper.cjs +14 -22
  254. package/dist/vue2/lib/emoji-text-wrapper.cjs.map +1 -1
  255. package/dist/vue2/lib/emoji-text-wrapper.js +14 -22
  256. package/dist/vue2/lib/emoji-text-wrapper.js.map +1 -1
  257. package/dist/vue2/lib/emoji.cjs +40 -13
  258. package/dist/vue2/lib/emoji.cjs.map +1 -1
  259. package/dist/vue2/lib/emoji.js +40 -13
  260. package/dist/vue2/lib/emoji.js.map +1 -1
  261. package/dist/vue2/lib/empty-state.cjs +27 -12
  262. package/dist/vue2/lib/empty-state.cjs.map +1 -1
  263. package/dist/vue2/lib/empty-state.js +27 -12
  264. package/dist/vue2/lib/empty-state.js.map +1 -1
  265. package/dist/vue2/lib/feed-item-row.cjs +106 -27
  266. package/dist/vue2/lib/feed-item-row.cjs.map +1 -1
  267. package/dist/vue2/lib/feed-item-row.js +106 -27
  268. package/dist/vue2/lib/feed-item-row.js.map +1 -1
  269. package/dist/vue2/lib/feed-pill.cjs +90 -35
  270. package/dist/vue2/lib/feed-pill.cjs.map +1 -1
  271. package/dist/vue2/lib/feed-pill.js +90 -35
  272. package/dist/vue2/lib/feed-pill.js.map +1 -1
  273. package/dist/vue2/lib/general-row.cjs +184 -75
  274. package/dist/vue2/lib/general-row.cjs.map +1 -1
  275. package/dist/vue2/lib/general-row.js +184 -75
  276. package/dist/vue2/lib/general-row.js.map +1 -1
  277. package/dist/vue2/lib/group-row.cjs +27 -16
  278. package/dist/vue2/lib/group-row.cjs.map +1 -1
  279. package/dist/vue2/lib/group-row.js +27 -16
  280. package/dist/vue2/lib/group-row.js.map +1 -1
  281. package/dist/vue2/lib/grouped-chip.cjs +68 -20
  282. package/dist/vue2/lib/grouped-chip.cjs.map +1 -1
  283. package/dist/vue2/lib/grouped-chip.js +68 -20
  284. package/dist/vue2/lib/grouped-chip.js.map +1 -1
  285. package/dist/vue2/lib/hovercard.cjs +71 -41
  286. package/dist/vue2/lib/hovercard.cjs.map +1 -1
  287. package/dist/vue2/lib/hovercard.js +71 -41
  288. package/dist/vue2/lib/hovercard.js.map +1 -1
  289. package/dist/vue2/lib/icon.cjs +10 -12
  290. package/dist/vue2/lib/icon.cjs.map +1 -1
  291. package/dist/vue2/lib/icon.js +10 -12
  292. package/dist/vue2/lib/icon.js.map +1 -1
  293. package/dist/vue2/lib/illustration.cjs +9 -12
  294. package/dist/vue2/lib/illustration.cjs.map +1 -1
  295. package/dist/vue2/lib/illustration.js +9 -12
  296. package/dist/vue2/lib/illustration.js.map +1 -1
  297. package/dist/vue2/lib/image-viewer.cjs +98 -23
  298. package/dist/vue2/lib/image-viewer.cjs.map +1 -1
  299. package/dist/vue2/lib/image-viewer.js +98 -23
  300. package/dist/vue2/lib/image-viewer.js.map +1 -1
  301. package/dist/vue2/lib/input-group.cjs +24 -14
  302. package/dist/vue2/lib/input-group.cjs.map +1 -1
  303. package/dist/vue2/lib/input-group.js +24 -14
  304. package/dist/vue2/lib/input-group.js.map +1 -1
  305. package/dist/vue2/lib/input.cjs +108 -40
  306. package/dist/vue2/lib/input.cjs.map +1 -1
  307. package/dist/vue2/lib/input.js +108 -40
  308. package/dist/vue2/lib/input.js.map +1 -1
  309. package/dist/vue2/lib/item-layout.cjs +42 -11
  310. package/dist/vue2/lib/item-layout.cjs.map +1 -1
  311. package/dist/vue2/lib/item-layout.js +42 -11
  312. package/dist/vue2/lib/item-layout.js.map +1 -1
  313. package/dist/vue2/lib/ivr-node.cjs +135 -47
  314. package/dist/vue2/lib/ivr-node.cjs.map +1 -1
  315. package/dist/vue2/lib/ivr-node.js +135 -47
  316. package/dist/vue2/lib/ivr-node.js.map +1 -1
  317. package/dist/vue2/lib/keyboard-shortcut.cjs +35 -23
  318. package/dist/vue2/lib/keyboard-shortcut.cjs.map +1 -1
  319. package/dist/vue2/lib/keyboard-shortcut.js +35 -23
  320. package/dist/vue2/lib/keyboard-shortcut.js.map +1 -1
  321. package/dist/vue2/lib/lazy-show.cjs +15 -11
  322. package/dist/vue2/lib/lazy-show.cjs.map +1 -1
  323. package/dist/vue2/lib/lazy-show.js +15 -11
  324. package/dist/vue2/lib/lazy-show.js.map +1 -1
  325. package/dist/vue2/lib/link.cjs +9 -15
  326. package/dist/vue2/lib/link.cjs.map +1 -1
  327. package/dist/vue2/lib/link.js +9 -15
  328. package/dist/vue2/lib/link.js.map +1 -1
  329. package/dist/vue2/lib/list-item-group.cjs +17 -11
  330. package/dist/vue2/lib/list-item-group.cjs.map +1 -1
  331. package/dist/vue2/lib/list-item-group.js +17 -11
  332. package/dist/vue2/lib/list-item-group.js.map +1 -1
  333. package/dist/vue2/lib/list-item.cjs +42 -23
  334. package/dist/vue2/lib/list-item.cjs.map +1 -1
  335. package/dist/vue2/lib/list-item.js +42 -23
  336. package/dist/vue2/lib/list-item.js.map +1 -1
  337. package/dist/vue2/lib/message-input.cjs +367 -97
  338. package/dist/vue2/lib/message-input.cjs.map +1 -1
  339. package/dist/vue2/lib/message-input.js +367 -97
  340. package/dist/vue2/lib/message-input.js.map +1 -1
  341. package/dist/vue2/lib/modal.cjs +94 -36
  342. package/dist/vue2/lib/modal.cjs.map +1 -1
  343. package/dist/vue2/lib/modal.js +94 -36
  344. package/dist/vue2/lib/modal.js.map +1 -1
  345. package/dist/vue2/lib/notice.cjs +40 -21
  346. package/dist/vue2/lib/notice.cjs.map +1 -1
  347. package/dist/vue2/lib/notice.js +40 -21
  348. package/dist/vue2/lib/notice.js.map +1 -1
  349. package/dist/vue2/lib/pagination.cjs +81 -20
  350. package/dist/vue2/lib/pagination.cjs.map +1 -1
  351. package/dist/vue2/lib/pagination.js +81 -20
  352. package/dist/vue2/lib/pagination.js.map +1 -1
  353. package/dist/vue2/lib/popover.cjs +194 -75
  354. package/dist/vue2/lib/popover.cjs.map +1 -1
  355. package/dist/vue2/lib/popover.js +195 -76
  356. package/dist/vue2/lib/popover.js.map +1 -1
  357. package/dist/vue2/lib/presence.cjs +23 -22
  358. package/dist/vue2/lib/presence.cjs.map +1 -1
  359. package/dist/vue2/lib/presence.js +23 -22
  360. package/dist/vue2/lib/presence.js.map +1 -1
  361. package/dist/vue2/lib/radio-group.cjs +2 -11
  362. package/dist/vue2/lib/radio-group.cjs.map +1 -1
  363. package/dist/vue2/lib/radio-group.js +2 -11
  364. package/dist/vue2/lib/radio-group.js.map +1 -1
  365. package/dist/vue2/lib/radio.cjs +47 -15
  366. package/dist/vue2/lib/radio.cjs.map +1 -1
  367. package/dist/vue2/lib/radio.js +47 -15
  368. package/dist/vue2/lib/radio.js.map +1 -1
  369. package/dist/vue2/lib/rich-text-editor.cjs +340 -327
  370. package/dist/vue2/lib/rich-text-editor.cjs.map +1 -1
  371. package/dist/vue2/lib/rich-text-editor.js +340 -327
  372. package/dist/vue2/lib/rich-text-editor.js.map +1 -1
  373. package/dist/vue2/lib/root-layout.cjs +33 -15
  374. package/dist/vue2/lib/root-layout.cjs.map +1 -1
  375. package/dist/vue2/lib/root-layout.js +33 -15
  376. package/dist/vue2/lib/root-layout.js.map +1 -1
  377. package/dist/vue2/lib/scrollbar-directive.cjs.map +1 -1
  378. package/dist/vue2/lib/scrollbar-directive.js.map +1 -1
  379. package/dist/vue2/lib/select-menu.cjs +52 -33
  380. package/dist/vue2/lib/select-menu.cjs.map +1 -1
  381. package/dist/vue2/lib/select-menu.js +52 -33
  382. package/dist/vue2/lib/select-menu.js.map +1 -1
  383. package/dist/vue2/lib/settings-menu-button.cjs +42 -16
  384. package/dist/vue2/lib/settings-menu-button.cjs.map +1 -1
  385. package/dist/vue2/lib/settings-menu-button.js +42 -16
  386. package/dist/vue2/lib/settings-menu-button.js.map +1 -1
  387. package/dist/vue2/lib/skeleton.cjs +118 -93
  388. package/dist/vue2/lib/skeleton.cjs.map +1 -1
  389. package/dist/vue2/lib/skeleton.js +118 -93
  390. package/dist/vue2/lib/skeleton.js.map +1 -1
  391. package/dist/vue2/lib/split-button.cjs +164 -64
  392. package/dist/vue2/lib/split-button.cjs.map +1 -1
  393. package/dist/vue2/lib/split-button.js +164 -64
  394. package/dist/vue2/lib/split-button.js.map +1 -1
  395. package/dist/vue2/lib/stack.cjs +21 -33
  396. package/dist/vue2/lib/stack.cjs.map +1 -1
  397. package/dist/vue2/lib/stack.js +21 -33
  398. package/dist/vue2/lib/stack.js.map +1 -1
  399. package/dist/vue2/lib/tabs.cjs +20 -13
  400. package/dist/vue2/lib/tabs.cjs.map +1 -1
  401. package/dist/vue2/lib/tabs.js +20 -13
  402. package/dist/vue2/lib/tabs.js.map +1 -1
  403. package/dist/vue2/lib/time-pill.cjs +8 -11
  404. package/dist/vue2/lib/time-pill.cjs.map +1 -1
  405. package/dist/vue2/lib/time-pill.js +8 -11
  406. package/dist/vue2/lib/time-pill.js.map +1 -1
  407. package/dist/vue2/lib/toast.cjs +42 -21
  408. package/dist/vue2/lib/toast.cjs.map +1 -1
  409. package/dist/vue2/lib/toast.js +42 -21
  410. package/dist/vue2/lib/toast.js.map +1 -1
  411. package/dist/vue2/lib/toggle.cjs +28 -24
  412. package/dist/vue2/lib/toggle.cjs.map +1 -1
  413. package/dist/vue2/lib/toggle.js +28 -24
  414. package/dist/vue2/lib/toggle.js.map +1 -1
  415. package/dist/vue2/lib/tooltip-directive.cjs +32 -26
  416. package/dist/vue2/lib/tooltip-directive.cjs.map +1 -1
  417. package/dist/vue2/lib/tooltip-directive.js +32 -26
  418. package/dist/vue2/lib/tooltip-directive.js.map +1 -1
  419. package/dist/vue2/lib/tooltip.cjs +31 -21
  420. package/dist/vue2/lib/tooltip.cjs.map +1 -1
  421. package/dist/vue2/lib/tooltip.js +32 -22
  422. package/dist/vue2/lib/tooltip.js.map +1 -1
  423. package/dist/vue2/lib/top-banner-info.cjs +18 -21
  424. package/dist/vue2/lib/top-banner-info.cjs.map +1 -1
  425. package/dist/vue2/lib/top-banner-info.js +18 -21
  426. package/dist/vue2/lib/top-banner-info.js.map +1 -1
  427. package/dist/vue2/lib/unread-pill.cjs +18 -12
  428. package/dist/vue2/lib/unread-pill.cjs.map +1 -1
  429. package/dist/vue2/lib/unread-pill.js +18 -12
  430. package/dist/vue2/lib/unread-pill.js.map +1 -1
  431. package/dist/vue2/lib/validation-messages.cjs +23 -16
  432. package/dist/vue2/lib/validation-messages.cjs.map +1 -1
  433. package/dist/vue2/lib/validation-messages.js +23 -16
  434. package/dist/vue2/lib/validation-messages.js.map +1 -1
  435. package/dist/vue2/style.css +5 -0
  436. package/dist/vue2/types/common/emoji/index.d.ts +2 -59236
  437. package/dist/vue2/types/common/emoji/index.d.ts.map +1 -1
  438. package/dist/vue2/types/components/button/button.vue.d.ts +1 -1
  439. package/dist/vue2/types/components/chip/chip.vue.d.ts +1 -1
  440. package/dist/vue2/types/components/combobox/combobox.vue.d.ts +1 -1
  441. package/dist/vue2/types/components/icon/icon.vue.d.ts +2 -2
  442. package/dist/vue2/types/components/icon/icon_constants.d.ts +1 -1
  443. package/dist/vue2/types/components/icon/icon_constants.d.ts.map +1 -1
  444. package/dist/vue2/types/components/illustration/illustration.vue.d.ts +2 -2
  445. package/dist/vue2/types/components/illustration/illustration_constants.d.ts +1 -1
  446. package/dist/vue2/types/components/illustration/illustration_constants.d.ts.map +1 -1
  447. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts +21 -0
  448. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  449. package/dist/vue2/types/components/input/input.vue.d.ts +1 -1
  450. package/dist/vue2/types/components/modal/modal.vue.d.ts +1 -1
  451. package/dist/vue2/types/components/rich_text_editor/extensions/custom_link/custom_link.d.ts.map +1 -1
  452. package/dist/vue2/types/components/rich_text_editor/mention_suggestion.d.ts.map +1 -1
  453. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +5 -3
  454. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  455. package/dist/vue2/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  456. package/dist/vue2/types/components/toast/toast.vue.d.ts +1 -1
  457. package/dist/vue2/types/components/tooltip/tooltip.vue.d.ts +1 -1
  458. package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  459. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  460. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  461. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts +1 -1
  462. package/dist/vue3/chunks/{dropdown-oA-_Gotg.js → dropdown-6HXkh24e.js} +40 -45
  463. package/dist/vue3/chunks/{dropdown-p-Azgwov.js.map → dropdown-6HXkh24e.js.map} +1 -1
  464. package/dist/vue3/chunks/{dropdown-p-Azgwov.js → dropdown-QNvAb160.js} +40 -45
  465. package/dist/vue3/chunks/{dropdown-oA-_Gotg.js.map → dropdown-QNvAb160.js.map} +1 -1
  466. package/dist/vue3/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  467. package/dist/vue3/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  468. package/dist/vue3/chunks/{icon_constants-QYpmdE0R.js → icon_constants-bvhFNOPu.js} +3 -2
  469. package/dist/vue3/chunks/icon_constants-bvhFNOPu.js.map +1 -0
  470. package/dist/vue3/chunks/{icon_constants-Dy4MEUJL.js → icon_constants-gIQj4mf7.js} +3 -2
  471. package/dist/vue3/chunks/icon_constants-gIQj4mf7.js.map +1 -0
  472. package/dist/vue3/chunks/{index-b_MgDylR.js → index-T15rAIdX.js} +71 -84
  473. package/dist/vue3/chunks/{index-4qgKeErp.js.map → index-T15rAIdX.js.map} +1 -1
  474. package/dist/vue3/chunks/{index-GVD15GIB.js → index-dfdrE-3M.js} +3 -12
  475. package/dist/vue3/chunks/{index-GVD15GIB.js.map → index-dfdrE-3M.js.map} +1 -1
  476. package/dist/vue3/chunks/{index-lu2o2f4r.js → index-fEp0B-5Z.js} +3 -12
  477. package/dist/vue3/chunks/{index-lu2o2f4r.js.map → index-fEp0B-5Z.js.map} +1 -1
  478. package/dist/vue3/chunks/{index-4qgKeErp.js → index-ouh7Bvm-.js} +71 -84
  479. package/dist/vue3/chunks/{index-b_MgDylR.js.map → index-ouh7Bvm-.js.map} +1 -1
  480. package/dist/vue3/chunks/{input-NmYDD5bn.js → input-HIysg24t.js} +3 -9
  481. package/dist/vue3/chunks/{input-NmYDD5bn.js.map → input-HIysg24t.js.map} +1 -1
  482. package/dist/vue3/chunks/{input-ttnte8zB.js → input-dLLo3Wtg.js} +3 -9
  483. package/dist/vue3/chunks/{input-ttnte8zB.js.map → input-dLLo3Wtg.js.map} +1 -1
  484. package/dist/vue3/chunks/{input_group-jWnq2DJT.js → input_group-hV1WT2it.js} +4 -2
  485. package/dist/vue3/chunks/{input_group-jWnq2DJT.js.map → input_group-hV1WT2it.js.map} +1 -1
  486. package/dist/vue3/chunks/{input_group-M-D25pOJ.js → input_group-rE6nhye8.js} +4 -2
  487. package/dist/vue3/chunks/{input_group-M-D25pOJ.js.map → input_group-rE6nhye8.js.map} +1 -1
  488. package/dist/vue3/chunks/{keyboard_list_navigation-ScXhrxya.js → keyboard_list_navigation-YIqTuw1W.js} +6 -5
  489. package/dist/{vue2/chunks/keyboard_list_navigation-fJnl_Iox.js.map → vue3/chunks/keyboard_list_navigation-YIqTuw1W.js.map} +1 -1
  490. package/dist/vue3/chunks/{keyboard_list_navigation-fJnl_Iox.js → keyboard_list_navigation-x3D6RcC7.js} +6 -5
  491. package/dist/vue3/chunks/{keyboard_list_navigation-ScXhrxya.js.map → keyboard_list_navigation-x3D6RcC7.js.map} +1 -1
  492. package/dist/vue3/chunks/link_constants-AfTWrr-n.js.map +1 -1
  493. package/dist/vue3/chunks/link_constants-x8NwdqmA.js.map +1 -1
  494. package/dist/vue3/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  495. package/dist/vue3/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  496. package/dist/vue3/chunks/{modal-XOr4kiNZ.js → modal-8X6poIZW.js} +4 -2
  497. package/dist/vue3/chunks/{modal-VgxXAQFP.js.map → modal-8X6poIZW.js.map} +1 -1
  498. package/dist/vue3/chunks/{modal-VgxXAQFP.js → modal-OaWxzqNt.js} +4 -2
  499. package/dist/{vue2/chunks/modal-XOr4kiNZ.js.map → vue3/chunks/modal-OaWxzqNt.js.map} +1 -1
  500. package/dist/vue3/chunks/{notice_action-WTucGhvr.js → notice_action-3ed0uIMN.js} +40 -61
  501. package/dist/vue3/chunks/{notice_action-p-ePanW_.js.map → notice_action-3ed0uIMN.js.map} +1 -1
  502. package/dist/vue3/chunks/{notice_action-p-ePanW_.js → notice_action-e08Lw5W6.js} +40 -61
  503. package/dist/vue3/chunks/{notice_action-WTucGhvr.js.map → notice_action-e08Lw5W6.js.map} +1 -1
  504. package/dist/vue3/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  505. package/dist/vue3/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  506. package/dist/vue3/chunks/{popover_constants-WsOUIY-m.js → popover_constants-6YkPPbnk.js} +26 -47
  507. package/dist/{vue2/chunks/popover_constants-XnGWXaxX.js.map → vue3/chunks/popover_constants-6YkPPbnk.js.map} +1 -1
  508. package/dist/vue3/chunks/{popover_constants-XnGWXaxX.js → popover_constants-h9MD6WUt.js} +26 -47
  509. package/dist/vue3/chunks/{popover_constants-XnGWXaxX.js.map → popover_constants-h9MD6WUt.js.map} +1 -1
  510. package/dist/vue3/chunks/{sr_only_close_button-3EdsV-dH.js → sr_only_close_button-Ji3Zlts6.js} +4 -4
  511. package/dist/vue3/chunks/{sr_only_close_button-3EdsV-dH.js.map → sr_only_close_button-Ji3Zlts6.js.map} +1 -1
  512. package/dist/vue3/chunks/{sr_only_close_button-xGrHFjwA.js → sr_only_close_button-gKr0Vlbz.js} +4 -4
  513. package/dist/vue3/chunks/{sr_only_close_button-xGrHFjwA.js.map → sr_only_close_button-gKr0Vlbz.js.map} +1 -1
  514. package/dist/vue3/chunks/stack_constants-HraCekPm.js.map +1 -1
  515. package/dist/vue3/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  516. package/dist/vue3/chunks/{tab-qc3f42Yp.js → tab-X7IvNGTl.js} +46 -49
  517. package/dist/vue3/chunks/{tab-qc3f42Yp.js.map → tab-X7IvNGTl.js.map} +1 -1
  518. package/dist/vue3/chunks/{tab-RTDgnD9-.js → tab-aD6t0MNo.js} +46 -49
  519. package/dist/vue3/chunks/{tab-RTDgnD9-.js.map → tab-aD6t0MNo.js.map} +1 -1
  520. package/dist/vue3/common/constants.cjs.map +1 -1
  521. package/dist/vue3/common/constants.js.map +1 -1
  522. package/dist/vue3/common/dates.cjs +3 -1
  523. package/dist/vue3/common/dates.cjs.map +1 -1
  524. package/dist/vue3/common/dates.js +3 -1
  525. package/dist/vue3/common/dates.js.map +1 -1
  526. package/dist/vue3/common/emoji.cjs +1 -1
  527. package/dist/vue3/common/emoji.js +1 -1
  528. package/dist/vue3/common/mixins.cjs +3 -3
  529. package/dist/vue3/common/mixins.js +3 -3
  530. package/dist/vue3/common/utils.cjs +11 -45
  531. package/dist/vue3/common/utils.cjs.map +1 -1
  532. package/dist/vue3/common/utils.js +11 -45
  533. package/dist/vue3/common/utils.js.map +1 -1
  534. package/dist/vue3/common/validators.cjs.map +1 -1
  535. package/dist/vue3/common/validators.js.map +1 -1
  536. package/dist/vue3/component-documentation.json +1 -1
  537. package/dist/vue3/dialtone-vue.cjs +12 -12
  538. package/dist/vue3/dialtone-vue.js +12 -12
  539. package/dist/vue3/lib/attachment-carousel.cjs +87 -108
  540. package/dist/vue3/lib/attachment-carousel.cjs.map +1 -1
  541. package/dist/vue3/lib/attachment-carousel.js +87 -108
  542. package/dist/vue3/lib/attachment-carousel.js.map +1 -1
  543. package/dist/vue3/lib/avatar.cjs +56 -88
  544. package/dist/vue3/lib/avatar.cjs.map +1 -1
  545. package/dist/vue3/lib/avatar.js +56 -88
  546. package/dist/vue3/lib/avatar.js.map +1 -1
  547. package/dist/vue3/lib/badge.cjs +15 -31
  548. package/dist/vue3/lib/badge.cjs.map +1 -1
  549. package/dist/vue3/lib/badge.js +15 -31
  550. package/dist/vue3/lib/badge.js.map +1 -1
  551. package/dist/vue3/lib/banner.cjs +38 -56
  552. package/dist/vue3/lib/banner.cjs.map +1 -1
  553. package/dist/vue3/lib/banner.js +38 -56
  554. package/dist/vue3/lib/banner.js.map +1 -1
  555. package/dist/vue3/lib/breadcrumbs.cjs +25 -36
  556. package/dist/vue3/lib/breadcrumbs.cjs.map +1 -1
  557. package/dist/vue3/lib/breadcrumbs.js +25 -36
  558. package/dist/vue3/lib/breadcrumbs.js.map +1 -1
  559. package/dist/vue3/lib/button-group.cjs +2 -7
  560. package/dist/vue3/lib/button-group.cjs.map +1 -1
  561. package/dist/vue3/lib/button-group.js +2 -7
  562. package/dist/vue3/lib/button-group.js.map +1 -1
  563. package/dist/vue3/lib/button.cjs +44 -69
  564. package/dist/vue3/lib/button.cjs.map +1 -1
  565. package/dist/vue3/lib/button.js +44 -69
  566. package/dist/vue3/lib/button.js.map +1 -1
  567. package/dist/vue3/lib/callbar-button-with-popover.cjs +68 -81
  568. package/dist/vue3/lib/callbar-button-with-popover.cjs.map +1 -1
  569. package/dist/vue3/lib/callbar-button-with-popover.js +68 -81
  570. package/dist/vue3/lib/callbar-button-with-popover.js.map +1 -1
  571. package/dist/vue3/lib/callbar-button.cjs +32 -45
  572. package/dist/vue3/lib/callbar-button.cjs.map +1 -1
  573. package/dist/vue3/lib/callbar-button.js +32 -45
  574. package/dist/vue3/lib/callbar-button.js.map +1 -1
  575. package/dist/vue3/lib/callbox.cjs +38 -57
  576. package/dist/vue3/lib/callbox.cjs.map +1 -1
  577. package/dist/vue3/lib/callbox.js +38 -57
  578. package/dist/vue3/lib/callbox.js.map +1 -1
  579. package/dist/vue3/lib/card.cjs +13 -33
  580. package/dist/vue3/lib/card.cjs.map +1 -1
  581. package/dist/vue3/lib/card.js +13 -33
  582. package/dist/vue3/lib/card.js.map +1 -1
  583. package/dist/vue3/lib/checkbox-group.cjs +2 -5
  584. package/dist/vue3/lib/checkbox-group.cjs.map +1 -1
  585. package/dist/vue3/lib/checkbox-group.js +2 -5
  586. package/dist/vue3/lib/checkbox-group.js.map +1 -1
  587. package/dist/vue3/lib/checkbox.cjs +41 -45
  588. package/dist/vue3/lib/checkbox.cjs.map +1 -1
  589. package/dist/vue3/lib/checkbox.js +41 -45
  590. package/dist/vue3/lib/checkbox.js.map +1 -1
  591. package/dist/vue3/lib/chip.cjs +38 -53
  592. package/dist/vue3/lib/chip.cjs.map +1 -1
  593. package/dist/vue3/lib/chip.js +38 -53
  594. package/dist/vue3/lib/chip.js.map +1 -1
  595. package/dist/vue3/lib/codeblock.cjs +4 -6
  596. package/dist/vue3/lib/codeblock.cjs.map +1 -1
  597. package/dist/vue3/lib/codeblock.js +4 -6
  598. package/dist/vue3/lib/codeblock.js.map +1 -1
  599. package/dist/vue3/lib/collapsible.cjs +62 -76
  600. package/dist/vue3/lib/collapsible.cjs.map +1 -1
  601. package/dist/vue3/lib/collapsible.js +62 -76
  602. package/dist/vue3/lib/collapsible.js.map +1 -1
  603. package/dist/vue3/lib/combobox-multi-select.cjs +75 -88
  604. package/dist/vue3/lib/combobox-multi-select.cjs.map +1 -1
  605. package/dist/vue3/lib/combobox-multi-select.js +75 -88
  606. package/dist/vue3/lib/combobox-multi-select.js.map +1 -1
  607. package/dist/vue3/lib/combobox-with-popover.cjs +77 -85
  608. package/dist/vue3/lib/combobox-with-popover.cjs.map +1 -1
  609. package/dist/vue3/lib/combobox-with-popover.js +77 -85
  610. package/dist/vue3/lib/combobox-with-popover.js.map +1 -1
  611. package/dist/vue3/lib/combobox.cjs +3 -3
  612. package/dist/vue3/lib/combobox.js +3 -3
  613. package/dist/vue3/lib/contact-centers-row.cjs +65 -89
  614. package/dist/vue3/lib/contact-centers-row.cjs.map +1 -1
  615. package/dist/vue3/lib/contact-centers-row.js +65 -89
  616. package/dist/vue3/lib/contact-centers-row.js.map +1 -1
  617. package/dist/vue3/lib/contact-info.cjs +58 -73
  618. package/dist/vue3/lib/contact-info.cjs.map +1 -1
  619. package/dist/vue3/lib/contact-info.js +58 -73
  620. package/dist/vue3/lib/contact-info.js.map +1 -1
  621. package/dist/vue3/lib/contact-row.cjs +37 -47
  622. package/dist/vue3/lib/contact-row.cjs.map +1 -1
  623. package/dist/vue3/lib/contact-row.js +37 -47
  624. package/dist/vue3/lib/contact-row.js.map +1 -1
  625. package/dist/vue3/lib/datepicker.cjs +267 -263
  626. package/dist/vue3/lib/datepicker.cjs.map +1 -1
  627. package/dist/vue3/lib/datepicker.js +267 -263
  628. package/dist/vue3/lib/datepicker.js.map +1 -1
  629. package/dist/vue3/lib/description-list.cjs +9 -14
  630. package/dist/vue3/lib/description-list.cjs.map +1 -1
  631. package/dist/vue3/lib/description-list.js +9 -14
  632. package/dist/vue3/lib/description-list.js.map +1 -1
  633. package/dist/vue3/lib/dropdown.cjs +6 -6
  634. package/dist/vue3/lib/dropdown.cjs.map +1 -1
  635. package/dist/vue3/lib/dropdown.js +6 -6
  636. package/dist/vue3/lib/dropdown.js.map +1 -1
  637. package/dist/vue3/lib/editor.cjs +312 -249
  638. package/dist/vue3/lib/editor.cjs.map +1 -1
  639. package/dist/vue3/lib/editor.js +312 -249
  640. package/dist/vue3/lib/editor.js.map +1 -1
  641. package/dist/vue3/lib/emoji-picker.cjs +387 -419
  642. package/dist/vue3/lib/emoji-picker.cjs.map +1 -1
  643. package/dist/vue3/lib/emoji-picker.js +387 -419
  644. package/dist/vue3/lib/emoji-picker.js.map +1 -1
  645. package/dist/vue3/lib/emoji-row.cjs +59 -69
  646. package/dist/vue3/lib/emoji-row.cjs.map +1 -1
  647. package/dist/vue3/lib/emoji-row.js +59 -69
  648. package/dist/vue3/lib/emoji-row.js.map +1 -1
  649. package/dist/vue3/lib/emoji-text-wrapper.cjs +13 -12
  650. package/dist/vue3/lib/emoji-text-wrapper.cjs.map +1 -1
  651. package/dist/vue3/lib/emoji-text-wrapper.js +13 -12
  652. package/dist/vue3/lib/emoji-text-wrapper.js.map +1 -1
  653. package/dist/vue3/lib/emoji.cjs +19 -23
  654. package/dist/vue3/lib/emoji.cjs.map +1 -1
  655. package/dist/vue3/lib/emoji.js +19 -23
  656. package/dist/vue3/lib/emoji.js.map +1 -1
  657. package/dist/vue3/lib/empty-state.cjs +20 -30
  658. package/dist/vue3/lib/empty-state.cjs.map +1 -1
  659. package/dist/vue3/lib/empty-state.js +20 -30
  660. package/dist/vue3/lib/empty-state.js.map +1 -1
  661. package/dist/vue3/lib/feed-item-row.cjs +43 -74
  662. package/dist/vue3/lib/feed-item-row.cjs.map +1 -1
  663. package/dist/vue3/lib/feed-item-row.js +43 -74
  664. package/dist/vue3/lib/feed-item-row.js.map +1 -1
  665. package/dist/vue3/lib/feed-pill.cjs +45 -55
  666. package/dist/vue3/lib/feed-pill.cjs.map +1 -1
  667. package/dist/vue3/lib/feed-pill.js +45 -55
  668. package/dist/vue3/lib/feed-pill.js.map +1 -1
  669. package/dist/vue3/lib/general-row.cjs +115 -165
  670. package/dist/vue3/lib/general-row.cjs.map +1 -1
  671. package/dist/vue3/lib/general-row.js +115 -165
  672. package/dist/vue3/lib/general-row.js.map +1 -1
  673. package/dist/vue3/lib/group-row.cjs +7 -9
  674. package/dist/vue3/lib/group-row.cjs.map +1 -1
  675. package/dist/vue3/lib/group-row.js +7 -9
  676. package/dist/vue3/lib/group-row.js.map +1 -1
  677. package/dist/vue3/lib/grouped-chip.cjs +27 -48
  678. package/dist/vue3/lib/grouped-chip.cjs.map +1 -1
  679. package/dist/vue3/lib/grouped-chip.js +27 -48
  680. package/dist/vue3/lib/grouped-chip.js.map +1 -1
  681. package/dist/vue3/lib/hovercard.cjs +25 -33
  682. package/dist/vue3/lib/hovercard.cjs.map +1 -1
  683. package/dist/vue3/lib/hovercard.js +25 -33
  684. package/dist/vue3/lib/hovercard.js.map +1 -1
  685. package/dist/vue3/lib/icon.cjs +1 -1
  686. package/dist/vue3/lib/icon.cjs.map +1 -1
  687. package/dist/vue3/lib/icon.js +1 -1
  688. package/dist/vue3/lib/icon.js.map +1 -1
  689. package/dist/vue3/lib/illustration.cjs +2 -1
  690. package/dist/vue3/lib/illustration.cjs.map +1 -1
  691. package/dist/vue3/lib/illustration.js +2 -1
  692. package/dist/vue3/lib/illustration.js.map +1 -1
  693. package/dist/vue3/lib/image-viewer.cjs +62 -66
  694. package/dist/vue3/lib/image-viewer.cjs.map +1 -1
  695. package/dist/vue3/lib/image-viewer.js +62 -66
  696. package/dist/vue3/lib/image-viewer.js.map +1 -1
  697. package/dist/vue3/lib/input-group.cjs +15 -19
  698. package/dist/vue3/lib/input-group.cjs.map +1 -1
  699. package/dist/vue3/lib/input-group.js +15 -19
  700. package/dist/vue3/lib/input-group.js.map +1 -1
  701. package/dist/vue3/lib/input.cjs +76 -104
  702. package/dist/vue3/lib/input.cjs.map +1 -1
  703. package/dist/vue3/lib/input.js +76 -104
  704. package/dist/vue3/lib/input.js.map +1 -1
  705. package/dist/vue3/lib/item-layout.cjs +10 -27
  706. package/dist/vue3/lib/item-layout.cjs.map +1 -1
  707. package/dist/vue3/lib/item-layout.js +10 -27
  708. package/dist/vue3/lib/item-layout.js.map +1 -1
  709. package/dist/vue3/lib/ivr-node.cjs +80 -89
  710. package/dist/vue3/lib/ivr-node.cjs.map +1 -1
  711. package/dist/vue3/lib/ivr-node.js +80 -89
  712. package/dist/vue3/lib/ivr-node.js.map +1 -1
  713. package/dist/vue3/lib/keyboard-shortcut.cjs +26 -31
  714. package/dist/vue3/lib/keyboard-shortcut.cjs.map +1 -1
  715. package/dist/vue3/lib/keyboard-shortcut.js +26 -31
  716. package/dist/vue3/lib/keyboard-shortcut.js.map +1 -1
  717. package/dist/vue3/lib/lazy-show.cjs +6 -8
  718. package/dist/vue3/lib/lazy-show.cjs.map +1 -1
  719. package/dist/vue3/lib/lazy-show.js +6 -8
  720. package/dist/vue3/lib/lazy-show.js.map +1 -1
  721. package/dist/vue3/lib/link.cjs +2 -7
  722. package/dist/vue3/lib/link.cjs.map +1 -1
  723. package/dist/vue3/lib/link.js +2 -7
  724. package/dist/vue3/lib/link.js.map +1 -1
  725. package/dist/vue3/lib/list-item-group.cjs +7 -14
  726. package/dist/vue3/lib/list-item-group.cjs.map +1 -1
  727. package/dist/vue3/lib/list-item-group.js +7 -14
  728. package/dist/vue3/lib/list-item-group.js.map +1 -1
  729. package/dist/vue3/lib/list-item.cjs +24 -25
  730. package/dist/vue3/lib/list-item.cjs.map +1 -1
  731. package/dist/vue3/lib/list-item.js +24 -25
  732. package/dist/vue3/lib/list-item.js.map +1 -1
  733. package/dist/vue3/lib/message-input.cjs +239 -277
  734. package/dist/vue3/lib/message-input.cjs.map +1 -1
  735. package/dist/vue3/lib/message-input.js +240 -278
  736. package/dist/vue3/lib/message-input.js.map +1 -1
  737. package/dist/vue3/lib/modal.cjs +59 -99
  738. package/dist/vue3/lib/modal.cjs.map +1 -1
  739. package/dist/vue3/lib/modal.js +59 -99
  740. package/dist/vue3/lib/modal.js.map +1 -1
  741. package/dist/vue3/lib/notice.cjs +33 -46
  742. package/dist/vue3/lib/notice.cjs.map +1 -1
  743. package/dist/vue3/lib/notice.js +33 -46
  744. package/dist/vue3/lib/notice.js.map +1 -1
  745. package/dist/vue3/lib/pagination.cjs +49 -61
  746. package/dist/vue3/lib/pagination.cjs.map +1 -1
  747. package/dist/vue3/lib/pagination.js +49 -61
  748. package/dist/vue3/lib/pagination.js.map +1 -1
  749. package/dist/vue3/lib/popover.cjs +133 -156
  750. package/dist/vue3/lib/popover.cjs.map +1 -1
  751. package/dist/vue3/lib/popover.js +134 -157
  752. package/dist/vue3/lib/popover.js.map +1 -1
  753. package/dist/vue3/lib/presence.cjs +9 -17
  754. package/dist/vue3/lib/presence.cjs.map +1 -1
  755. package/dist/vue3/lib/presence.js +9 -17
  756. package/dist/vue3/lib/presence.js.map +1 -1
  757. package/dist/vue3/lib/radio-group.cjs +1 -1
  758. package/dist/vue3/lib/radio-group.cjs.map +1 -1
  759. package/dist/vue3/lib/radio-group.js +1 -1
  760. package/dist/vue3/lib/radio-group.js.map +1 -1
  761. package/dist/vue3/lib/radio.cjs +34 -41
  762. package/dist/vue3/lib/radio.cjs.map +1 -1
  763. package/dist/vue3/lib/radio.js +34 -41
  764. package/dist/vue3/lib/radio.js.map +1 -1
  765. package/dist/vue3/lib/rich-text-editor.cjs +297 -298
  766. package/dist/vue3/lib/rich-text-editor.cjs.map +1 -1
  767. package/dist/vue3/lib/rich-text-editor.js +297 -298
  768. package/dist/vue3/lib/rich-text-editor.js.map +1 -1
  769. package/dist/vue3/lib/root-layout.cjs +24 -39
  770. package/dist/vue3/lib/root-layout.cjs.map +1 -1
  771. package/dist/vue3/lib/root-layout.js +24 -39
  772. package/dist/vue3/lib/root-layout.js.map +1 -1
  773. package/dist/vue3/lib/scrollbar-directive.cjs.map +1 -1
  774. package/dist/vue3/lib/scrollbar-directive.js.map +1 -1
  775. package/dist/vue3/lib/scroller.cjs +100 -83
  776. package/dist/vue3/lib/scroller.cjs.map +1 -1
  777. package/dist/vue3/lib/scroller.js +100 -83
  778. package/dist/vue3/lib/scroller.js.map +1 -1
  779. package/dist/vue3/lib/select-menu.cjs +40 -67
  780. package/dist/vue3/lib/select-menu.cjs.map +1 -1
  781. package/dist/vue3/lib/select-menu.js +40 -67
  782. package/dist/vue3/lib/select-menu.js.map +1 -1
  783. package/dist/vue3/lib/settings-menu-button.cjs +10 -16
  784. package/dist/vue3/lib/settings-menu-button.cjs.map +1 -1
  785. package/dist/vue3/lib/settings-menu-button.js +10 -16
  786. package/dist/vue3/lib/settings-menu-button.js.map +1 -1
  787. package/dist/vue3/lib/skeleton.cjs +74 -93
  788. package/dist/vue3/lib/skeleton.cjs.map +1 -1
  789. package/dist/vue3/lib/skeleton.js +74 -93
  790. package/dist/vue3/lib/skeleton.js.map +1 -1
  791. package/dist/vue3/lib/split-button.cjs +68 -74
  792. package/dist/vue3/lib/split-button.cjs.map +1 -1
  793. package/dist/vue3/lib/split-button.js +68 -74
  794. package/dist/vue3/lib/split-button.js.map +1 -1
  795. package/dist/vue3/lib/stack.cjs +18 -26
  796. package/dist/vue3/lib/stack.cjs.map +1 -1
  797. package/dist/vue3/lib/stack.js +18 -26
  798. package/dist/vue3/lib/stack.js.map +1 -1
  799. package/dist/vue3/lib/tabs.cjs +3 -7
  800. package/dist/vue3/lib/tabs.cjs.map +1 -1
  801. package/dist/vue3/lib/tabs.js +3 -7
  802. package/dist/vue3/lib/tabs.js.map +1 -1
  803. package/dist/vue3/lib/time-pill.cjs.map +1 -1
  804. package/dist/vue3/lib/time-pill.js.map +1 -1
  805. package/dist/vue3/lib/toast.cjs +35 -51
  806. package/dist/vue3/lib/toast.cjs.map +1 -1
  807. package/dist/vue3/lib/toast.js +35 -51
  808. package/dist/vue3/lib/toast.js.map +1 -1
  809. package/dist/vue3/lib/toggle.cjs +24 -34
  810. package/dist/vue3/lib/toggle.cjs.map +1 -1
  811. package/dist/vue3/lib/toggle.js +24 -34
  812. package/dist/vue3/lib/toggle.js.map +1 -1
  813. package/dist/vue3/lib/tooltip-directive.cjs +26 -19
  814. package/dist/vue3/lib/tooltip-directive.cjs.map +1 -1
  815. package/dist/vue3/lib/tooltip-directive.js +26 -19
  816. package/dist/vue3/lib/tooltip-directive.js.map +1 -1
  817. package/dist/vue3/lib/tooltip.cjs +21 -32
  818. package/dist/vue3/lib/tooltip.cjs.map +1 -1
  819. package/dist/vue3/lib/tooltip.js +22 -33
  820. package/dist/vue3/lib/tooltip.js.map +1 -1
  821. package/dist/vue3/lib/top-banner-info.cjs +8 -23
  822. package/dist/vue3/lib/top-banner-info.cjs.map +1 -1
  823. package/dist/vue3/lib/top-banner-info.js +8 -23
  824. package/dist/vue3/lib/top-banner-info.js.map +1 -1
  825. package/dist/vue3/lib/unread-pill.cjs +8 -11
  826. package/dist/vue3/lib/unread-pill.cjs.map +1 -1
  827. package/dist/vue3/lib/unread-pill.js +8 -11
  828. package/dist/vue3/lib/unread-pill.js.map +1 -1
  829. package/dist/vue3/lib/validation-messages.cjs +14 -17
  830. package/dist/vue3/lib/validation-messages.cjs.map +1 -1
  831. package/dist/vue3/lib/validation-messages.js +14 -17
  832. package/dist/vue3/lib/validation-messages.js.map +1 -1
  833. package/dist/vue3/style.css +5 -0
  834. package/dist/vue3/types/components/button/button.vue.d.ts +1 -1
  835. package/dist/vue3/types/components/chip/chip.vue.d.ts +1 -1
  836. package/dist/vue3/types/components/combobox/combobox.vue.d.ts +1 -1
  837. package/dist/vue3/types/components/datepicker/modules/month-year-picker.vue.d.ts +1 -1
  838. package/dist/vue3/types/components/icon/icon.vue.d.ts +2 -2
  839. package/dist/vue3/types/components/icon/icon_constants.d.ts +1 -1
  840. package/dist/vue3/types/components/icon/icon_constants.d.ts.map +1 -1
  841. package/dist/vue3/types/components/illustration/illustration_constants.d.ts +1 -1
  842. package/dist/vue3/types/components/illustration/illustration_constants.d.ts.map +1 -1
  843. package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts +21 -0
  844. package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  845. package/dist/vue3/types/components/input/input.vue.d.ts +1 -1
  846. package/dist/vue3/types/components/modal/modal.vue.d.ts +1 -1
  847. package/dist/vue3/types/components/notice/notice.vue.d.ts +1 -1
  848. package/dist/vue3/types/components/radio/radio.vue.d.ts +1 -1
  849. package/dist/vue3/types/components/rich_text_editor/extensions/custom_link/custom_link.d.ts.map +1 -1
  850. package/dist/vue3/types/components/rich_text_editor/mention_suggestion.d.ts.map +1 -1
  851. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +5 -3
  852. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  853. package/dist/vue3/types/components/scroller/modules/scroller_item.vue.d.ts +1 -1
  854. package/dist/vue3/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  855. package/dist/vue3/types/components/tabs/tab.vue.d.ts +1 -1
  856. package/dist/vue3/types/components/toast/toast.vue.d.ts +2 -2
  857. package/dist/vue3/types/components/tooltip/tooltip.vue.d.ts +1 -1
  858. package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  859. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  860. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  861. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts +1 -1
  862. package/package.json +3 -3
  863. package/dist/chunks/tokens-base-dark-BC3U5KoN.js +0 -4
  864. package/dist/chunks/tokens-base-dark-zbBpWlfP.js +0 -1
  865. package/dist/chunks/tokens-base-light-PCrr7t8W.js +0 -4
  866. package/dist/chunks/tokens-base-light-dvWvBHbM.js +0 -1
  867. package/dist/vue2/chunks/icon_constants-Dy4MEUJL.js.map +0 -1
  868. package/dist/vue2/chunks/icon_constants-QYpmdE0R.js.map +0 -1
  869. package/dist/vue3/chunks/icon_constants-Dy4MEUJL.js.map +0 -1
  870. package/dist/vue3/chunks/icon_constants-QYpmdE0R.js.map +0 -1
@@ -4,26 +4,25 @@ import { DtTooltip } from "./tooltip.js";
4
4
  import { DtButton } from "./button.js";
5
5
  import { DtEmoji } from "./emoji.js";
6
6
  import { DtEmojiTextWrapper as _sfc_main$1 } from "./emoji-text-wrapper.js";
7
- import "../chunks/popover_constants-WsOUIY-m.js";
7
+ import "../chunks/popover_constants-6YkPPbnk.js";
8
8
  import "tippy.js";
9
9
  import "../common/utils.js";
10
10
  import "../common/constants.js";
11
11
  import "../chunks/link_constants-AfTWrr-n.js";
12
- import "../chunks/index-GVD15GIB.js";
12
+ import "../chunks/index-dfdrE-3M.js";
13
13
  import "@dialpad/dialtone-emojis";
14
14
  import "./skeleton.js";
15
- import "../chunks/icon_constants-Dy4MEUJL.js";
15
+ import "../chunks/icon_constants-gIQj4mf7.js";
16
16
  import "@dialpad/dialtone-icons/icons.json";
17
- const REACTIONS_ATTRIBUTES = [
18
- "emojiUnicodeOrShortname",
19
- "isSelected",
20
- "ariaLabel",
21
- "tooltip",
22
- "num"
23
- ];
17
+ const REACTIONS_ATTRIBUTES = ["emojiUnicodeOrShortname", "isSelected", "ariaLabel", "tooltip", "num"];
24
18
  const _sfc_main = {
25
19
  name: "DtRecipeEmojiRow",
26
- components: { DtTooltip, DtButton, DtEmoji, DtEmojiTextWrapper: _sfc_main$1 },
20
+ components: {
21
+ DtTooltip,
22
+ DtButton,
23
+ DtEmoji,
24
+ DtEmojiTextWrapper: _sfc_main$1
25
+ },
27
26
  mixins: [],
28
27
  props: {
29
28
  /**
@@ -42,10 +41,7 @@ const _sfc_main = {
42
41
  }
43
42
  }
44
43
  },
45
- emits: [
46
- "emoji-clicked",
47
- "emoji-hovered"
48
- ],
44
+ emits: ["emoji-clicked", "emoji-hovered"],
49
45
  methods: {
50
46
  emojiClicked(reaction) {
51
47
  this.$emit("emoji-clicked", reaction.emojiUnicodeOrShortname);
@@ -58,66 +54,60 @@ const _sfc_main = {
58
54
  }
59
55
  }
60
56
  };
61
- const _hoisted_1 = { class: "dt-emoji-row" };
57
+ const _hoisted_1 = {
58
+ class: "dt-emoji-row"
59
+ };
62
60
  const _hoisted_2 = ["reaction"];
63
- const _hoisted_3 = { "aria-hidden": "true" };
64
- const _hoisted_4 = { class: "dt-emoji-row__emoji" };
65
- const _hoisted_5 = { class: "dt-emoji-row__reaction-number" };
61
+ const _hoisted_3 = {
62
+ "aria-hidden": "true"
63
+ };
64
+ const _hoisted_4 = {
65
+ class: "dt-emoji-row__emoji"
66
+ };
67
+ const _hoisted_5 = {
68
+ class: "dt-emoji-row__reaction-number"
69
+ };
66
70
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
67
71
  const _component_dt_emoji_text_wrapper = resolveComponent("dt-emoji-text-wrapper");
68
72
  const _component_dt_emoji = resolveComponent("dt-emoji");
69
73
  const _component_dt_button = resolveComponent("dt-button");
70
74
  const _component_dt_tooltip = resolveComponent("dt-tooltip");
71
- return openBlock(), createElementBlock("span", _hoisted_1, [
72
- (openBlock(true), createElementBlock(Fragment, null, renderList($props.reactions, (reaction) => {
73
- return openBlock(), createElementBlock("span", {
74
- key: reaction.unicodeOutput,
75
- reaction
76
- }, [
77
- createVNode(_component_dt_tooltip, {
78
- class: "dt-emoji-row__tooltip",
79
- "content-class": "d-wmx464",
80
- sticky: "popper",
81
- onShown: (shown) => $options.emojiHovered(reaction, shown)
82
- }, {
83
- anchor: withCtx(({ attrs }) => [
84
- createVNode(_component_dt_button, {
85
- importance: "clear",
86
- size: "sm",
87
- "data-qa": "feed-item-reaction-button",
88
- class: normalizeClass(["dt-emoji-row__reaction", reaction.isSelected ? "dt-emoji-row__reaction--selected" : ""]),
89
- "aria-label": reaction.ariaLabel,
90
- attrs,
91
- onClick: ($event) => $options.emojiClicked(reaction)
92
- }, {
93
- default: withCtx(() => [
94
- createElementVNode("span", _hoisted_4, [
95
- createVNode(_component_dt_emoji, {
96
- size: "200",
97
- code: reaction.emojiUnicodeOrShortname
98
- }, null, 8, ["code"])
99
- ]),
100
- createElementVNode("span", _hoisted_5, toDisplayString(reaction.num), 1)
101
- ]),
102
- _: 2
103
- }, 1032, ["class", "aria-label", "attrs", "onClick"])
104
- ]),
105
- default: withCtx(() => [
106
- createElementVNode("span", _hoisted_3, [
107
- createVNode(_component_dt_emoji_text_wrapper, { size: "200" }, {
108
- default: withCtx(() => [
109
- createTextVNode(toDisplayString(reaction.tooltip), 1)
110
- ]),
111
- _: 2
112
- }, 1024)
113
- ])
114
- ]),
115
- _: 2
116
- }, 1032, ["onShown"])
117
- ], 8, _hoisted_2);
118
- }), 128)),
119
- renderSlot(_ctx.$slots, "picker")
120
- ]);
75
+ return openBlock(), createElementBlock("span", _hoisted_1, [(openBlock(true), createElementBlock(Fragment, null, renderList($props.reactions, (reaction) => {
76
+ return openBlock(), createElementBlock("span", {
77
+ key: reaction.unicodeOutput,
78
+ reaction
79
+ }, [createVNode(_component_dt_tooltip, {
80
+ class: "dt-emoji-row__tooltip",
81
+ "content-class": "d-wmx464",
82
+ sticky: "popper",
83
+ onShown: (shown) => $options.emojiHovered(reaction, shown)
84
+ }, {
85
+ anchor: withCtx(({
86
+ attrs
87
+ }) => [createVNode(_component_dt_button, {
88
+ importance: "clear",
89
+ size: "sm",
90
+ "data-qa": "feed-item-reaction-button",
91
+ class: normalizeClass(["dt-emoji-row__reaction", reaction.isSelected ? "dt-emoji-row__reaction--selected" : ""]),
92
+ "aria-label": reaction.ariaLabel,
93
+ attrs,
94
+ onClick: ($event) => $options.emojiClicked(reaction)
95
+ }, {
96
+ default: withCtx(() => [createElementVNode("span", _hoisted_4, [createVNode(_component_dt_emoji, {
97
+ size: "200",
98
+ code: reaction.emojiUnicodeOrShortname
99
+ }, null, 8, ["code"])]), createElementVNode("span", _hoisted_5, toDisplayString(reaction.num), 1)]),
100
+ _: 2
101
+ }, 1032, ["class", "aria-label", "attrs", "onClick"])]),
102
+ default: withCtx(() => [createElementVNode("span", _hoisted_3, [createVNode(_component_dt_emoji_text_wrapper, {
103
+ size: "200"
104
+ }, {
105
+ default: withCtx(() => [createTextVNode(toDisplayString(reaction.tooltip), 1)]),
106
+ _: 2
107
+ }, 1024)])]),
108
+ _: 2
109
+ }, 1032, ["onShown"])], 8, _hoisted_2);
110
+ }), 128)), renderSlot(_ctx.$slots, "picker")]);
121
111
  }
122
112
  const emoji_row = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
123
113
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"emoji-row.js","sources":["../../recipes/conversation_view/emoji_row/emoji_row_constants.js","../../recipes/conversation_view/emoji_row/emoji_row.vue"],"sourcesContent":["export const REACTIONS_ATTRIBUTES = [\n 'emojiUnicodeOrShortname',\n 'isSelected',\n 'ariaLabel',\n 'tooltip',\n 'num',\n];\n\nexport default {\n REACTIONS_ATTRIBUTES,\n};\n","<template>\n <span class=\"dt-emoji-row\">\n <span\n v-for=\"reaction in reactions\"\n :key=\"reaction.unicodeOutput\"\n :reaction=\"reaction\"\n >\n <dt-tooltip\n class=\"dt-emoji-row__tooltip\"\n content-class=\"d-wmx464\"\n sticky=\"popper\"\n @shown=\"(shown) => emojiHovered(reaction, shown)\"\n >\n <span aria-hidden=\"true\">\n <dt-emoji-text-wrapper size=\"200\">\n {{ reaction.tooltip }}\n </dt-emoji-text-wrapper>\n </span>\n <template #anchor=\"{ attrs }\">\n <dt-button\n importance=\"clear\"\n size=\"sm\"\n data-qa=\"feed-item-reaction-button\"\n :class=\"['dt-emoji-row__reaction', reaction.isSelected ? 'dt-emoji-row__reaction--selected' : '']\"\n :aria-label=\"reaction.ariaLabel\"\n :attrs=\"attrs\"\n @click=\"emojiClicked(reaction)\"\n >\n <span class=\"dt-emoji-row__emoji\">\n <dt-emoji\n size=\"200\"\n :code=\"reaction.emojiUnicodeOrShortname\"\n />\n </span>\n <span class=\"dt-emoji-row__reaction-number\">\n {{ reaction.num }}\n </span>\n </dt-button>\n </template>\n </dt-tooltip>\n </span>\n <!-- @slot Slot for emoji picker component, including the anchor. -->\n <slot name=\"picker\" />\n </span>\n</template>\n\n<script>\nimport { REACTIONS_ATTRIBUTES } from './emoji_row_constants.js';\nimport { DtButton } from '../../../components/button';\nimport { DtTooltip } from '../../../components/tooltip';\nimport { DtEmoji } from '../../../components/emoji';\nimport { DtEmojiTextWrapper } from '../../../components/emoji_text_wrapper';\n\nexport default {\n name: 'DtRecipeEmojiRow',\n\n components: { DtTooltip, DtButton, DtEmoji, DtEmojiTextWrapper },\n\n mixins: [],\n\n props: {\n /**\n * Provide an array of reaction objects to be shown.\n */\n reactions: {\n type: Array,\n default: () => [],\n validator: (reactions) => {\n for (const reaction of reactions) {\n const validInput = REACTIONS_ATTRIBUTES.every((attribute) => reaction[attribute] !== undefined ?? false);\n if (!validInput) return false;\n }\n return true;\n },\n },\n },\n\n emits: [\n 'emoji-clicked',\n 'emoji-hovered',\n ],\n\n methods: {\n emojiClicked (reaction) {\n this.$emit('emoji-clicked', reaction.emojiUnicodeOrShortname);\n },\n\n emojiHovered (reaction, state) {\n this.$emit('emoji-hovered', {\n reaction: reaction.emojiUnicodeOrShortname,\n state,\n });\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.dt-emoji-row {\n display: flex;\n flex-wrap: wrap;\n gap: var(--dt-space-300);\n\n &__tooltip {\n display: inline-block;\n }\n\n &__reaction {\n --emoji-item-color-inset-shadow: transparent;\n --emoji-item-color-foreground: var(--dt-action-color-foreground-muted-default);\n --emoji-item-color-background: var(--dt-action-color-background-muted-hover);\n\n padding: var(--dt-space-300) var(--dt-space-400);\n border-radius: var(--dt-size-radius-pill);\n border: 0;\n color: var(--emoji-item-color-foreground);\n background-color: var(--emoji-item-color-background);\n box-shadow: inset 0 0 0 var(--dt-size-border-150) var(--emoji-item-color-inset-shadow);\n height: var(--dt-size-550);\n\n &.dt-emoji-row__picker {\n padding: var(--dt-space-200) var(--dt-space-350);\n }\n\n &:hover {\n --emoji-item-color-inset-shadow: var(--dt-color-border-subtle);\n --emoji-item-color-foreground: var(--dt-action-color-foreground-muted-hover);\n }\n\n &:active {\n --emoji-item-color-background: var(--dt-action-color-background-muted-active);\n --emoji-item-color-foreground: var(--dt-action-color-foreground-muted-active);\n\n transform: scale(.98);\n }\n\n &--selected {\n --emoji-item-color-inset-shadow: var(--dt-color-border-brand);\n --emoji-item-color-foreground: var(--dt-color-link-primary);\n --emoji-item-color-background: var(--dt-action-color-background-base-hover);\n\n .dt-emoji-row__reaction-number {\n font-weight: var(--dt-font-weight-bold);\n }\n\n &:hover {\n --emoji-item-color-inset-shadow: var(--dt-color-border-brand-strong);\n --emoji-item-color-foreground: var(--dt-color-link-primary-hover);\n }\n\n &:active {\n --emoji-item-color-background: var(--dt-action-color-background-base-active);\n }\n }\n }\n\n &__emoji {\n margin-right: var(--dt-space-300);\n display: inline-flex;\n }\n\n &__reaction-number {\n // set font properties individually to change line height,\n // as font shorthand property will override line-height.\n font-weight: var(--dt-typography-body-sm-font-weight);\n font-size: var(--dt-typography-body-sm-font-size);\n font-family: var(--dt-typography-body-sm-font-family);\n line-height: var(--dt-font-line-height-100);\n font-variant: tabular-nums;\n }\n}\n</style>\n"],"names":["DtEmojiTextWrapper","_openBlock","_createElementBlock","_Fragment","_renderList","_createVNode","_withCtx","_normalizeClass","_createElementVNode","_toDisplayString","_createTextVNode","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;AAAY,MAAC,uBAAuB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AC+CA,MAAK,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY,EAAE,WAAW,UAAU,SAASA,oBAAAA,YAAoB;AAAA,EAEhE,QAAQ,CAAE;AAAA,EAEV,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAM,CAAE;AAAA,MACjB,WAAW,CAAC,cAAc;AACxB,mBAAW,YAAY,WAAW;AAChC,gBAAM,aAAa,qBAAqB,MAAM,CAAC,cAAc,SAAS,SAAS,MAAM,MAAkB;AACvG,cAAI,CAAC;AAAY,mBAAO;AAAA,QAC1B;AACA,eAAO;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAED,OAAO;AAAA,IACL;AAAA,IACA;AAAA,EACD;AAAA,EAED,SAAS;AAAA,IACP,aAAc,UAAU;AACtB,WAAK,MAAM,iBAAiB,SAAS,uBAAuB;AAAA,IAC7D;AAAA,IAED,aAAc,UAAU,OAAO;AAC7B,WAAK,MAAM,iBAAiB;AAAA,QAC1B,UAAU,SAAS;AAAA,QACnB;AAAA,MACF,CAAC;AAAA,IACF;AAAA,EACF;AACH;AA7FQ,MAAA,aAAA,EAAA,OAAM,eAAc;;AAYd,MAAA,aAAA,EAAA,eAAY,OAAM;AAed,MAAA,aAAA,EAAA,OAAM,sBAAqB;AAM3B,MAAA,aAAA,EAAA,OAAM,gCAA+B;;;;;;AAjCrD,SAAAC,UAAA,GAAAC,mBA0CO,QA1CP,YA0CO;AAAA,sBAzCLA,mBAsCOC,UAAA,MAAAC,WArCc,OAAS,WAAA,CAArB,aAAQ;0BADjBF,mBAsCO,QAAA;AAAA,QApCJ,KAAK,SAAS;AAAA,QACd;AAAA;QAEDG,YAgCa,uBAAA;AAAA,UA/BX,OAAM;AAAA,UACN,iBAAc;AAAA,UACd,QAAO;AAAA,UACN,UAAQ,UAAU,sBAAa,UAAU,KAAK;AAAA;UAOpC,QAAMC,QACf,CAkBY,EAnBO,YAAK;AAAA,YACxBD,YAkBY,sBAAA;AAAA,cAjBV,YAAW;AAAA,cACX,MAAK;AAAA,cACL,WAAQ;AAAA,cACP,OAAKE,eAAA,CAAA,0BAA6B,SAAS,aAAU,qCAAA,EAAA,CAAA;AAAA,cACrD,cAAY,SAAS;AAAA,cACrB;AAAA,cACA,SAAK,YAAE,SAAY,aAAC,QAAQ;AAAA;+BAE7B,MAKO;AAAA,gBALPC,mBAKO,QALP,YAKO;AAAA,kBAJLH,YAGE,qBAAA;AAAA,oBAFA,MAAK;AAAA,oBACJ,MAAM,SAAS;AAAA;;gBAGpBG,mBAEO,QAFP,YACKC,gBAAA,SAAS,GAAG,GAAA,CAAA;AAAA;;;;2BAtBrB,MAIO;AAAA,YAJPD,mBAIO,QAJP,YAIO;AAAA,cAHLH,YAEwB,kCAAA,EAFD,MAAK,MAAK,GAAA;AAAA,iCAC/B,MAAsB;AAAA,kBAAnBK,gBAAAD,gBAAA,SAAS,OAAO,GAAA,CAAA;AAAA;;;;;;;;;IA2B3BE,WAAsB,KAAA,QAAA,QAAA;AAAA;;;"}
1
+ {"version":3,"file":"emoji-row.js","sources":["../../recipes/conversation_view/emoji_row/emoji_row_constants.js","../../recipes/conversation_view/emoji_row/emoji_row.vue"],"sourcesContent":["export const REACTIONS_ATTRIBUTES = [\n 'emojiUnicodeOrShortname',\n 'isSelected',\n 'ariaLabel',\n 'tooltip',\n 'num',\n];\n\nexport default {\n REACTIONS_ATTRIBUTES,\n};\n","<template>\n <span class=\"dt-emoji-row\">\n <span\n v-for=\"reaction in reactions\"\n :key=\"reaction.unicodeOutput\"\n :reaction=\"reaction\"\n >\n <dt-tooltip\n class=\"dt-emoji-row__tooltip\"\n content-class=\"d-wmx464\"\n sticky=\"popper\"\n @shown=\"(shown) => emojiHovered(reaction, shown)\"\n >\n <span aria-hidden=\"true\">\n <dt-emoji-text-wrapper size=\"200\">\n {{ reaction.tooltip }}\n </dt-emoji-text-wrapper>\n </span>\n <template #anchor=\"{ attrs }\">\n <dt-button\n importance=\"clear\"\n size=\"sm\"\n data-qa=\"feed-item-reaction-button\"\n :class=\"['dt-emoji-row__reaction', reaction.isSelected ? 'dt-emoji-row__reaction--selected' : '']\"\n :aria-label=\"reaction.ariaLabel\"\n :attrs=\"attrs\"\n @click=\"emojiClicked(reaction)\"\n >\n <span class=\"dt-emoji-row__emoji\">\n <dt-emoji\n size=\"200\"\n :code=\"reaction.emojiUnicodeOrShortname\"\n />\n </span>\n <span class=\"dt-emoji-row__reaction-number\">\n {{ reaction.num }}\n </span>\n </dt-button>\n </template>\n </dt-tooltip>\n </span>\n <!-- @slot Slot for emoji picker component, including the anchor. -->\n <slot name=\"picker\" />\n </span>\n</template>\n\n<script>\nimport { REACTIONS_ATTRIBUTES } from './emoji_row_constants.js';\nimport { DtButton } from '../../../components/button';\nimport { DtTooltip } from '../../../components/tooltip';\nimport { DtEmoji } from '../../../components/emoji';\nimport { DtEmojiTextWrapper } from '../../../components/emoji_text_wrapper';\n\nexport default {\n name: 'DtRecipeEmojiRow',\n\n components: { DtTooltip, DtButton, DtEmoji, DtEmojiTextWrapper },\n\n mixins: [],\n\n props: {\n /**\n * Provide an array of reaction objects to be shown.\n */\n reactions: {\n type: Array,\n default: () => [],\n validator: (reactions) => {\n for (const reaction of reactions) {\n const validInput = REACTIONS_ATTRIBUTES.every((attribute) => reaction[attribute] !== undefined ?? false);\n if (!validInput) return false;\n }\n return true;\n },\n },\n },\n\n emits: [\n 'emoji-clicked',\n 'emoji-hovered',\n ],\n\n methods: {\n emojiClicked (reaction) {\n this.$emit('emoji-clicked', reaction.emojiUnicodeOrShortname);\n },\n\n emojiHovered (reaction, state) {\n this.$emit('emoji-hovered', {\n reaction: reaction.emojiUnicodeOrShortname,\n state,\n });\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.dt-emoji-row {\n display: flex;\n flex-wrap: wrap;\n gap: var(--dt-space-300);\n\n &__tooltip {\n display: inline-block;\n }\n\n &__reaction {\n --emoji-item-color-inset-shadow: transparent;\n --emoji-item-color-foreground: var(--dt-action-color-foreground-muted-default);\n --emoji-item-color-background: var(--dt-action-color-background-muted-hover);\n\n padding: var(--dt-space-300) var(--dt-space-400);\n border-radius: var(--dt-size-radius-pill);\n border: 0;\n color: var(--emoji-item-color-foreground);\n background-color: var(--emoji-item-color-background);\n box-shadow: inset 0 0 0 var(--dt-size-border-150) var(--emoji-item-color-inset-shadow);\n height: var(--dt-size-550);\n\n &.dt-emoji-row__picker {\n padding: var(--dt-space-200) var(--dt-space-350);\n }\n\n &:hover {\n --emoji-item-color-inset-shadow: var(--dt-color-border-subtle);\n --emoji-item-color-foreground: var(--dt-action-color-foreground-muted-hover);\n }\n\n &:active {\n --emoji-item-color-background: var(--dt-action-color-background-muted-active);\n --emoji-item-color-foreground: var(--dt-action-color-foreground-muted-active);\n\n transform: scale(.98);\n }\n\n &--selected {\n --emoji-item-color-inset-shadow: var(--dt-color-border-brand);\n --emoji-item-color-foreground: var(--dt-color-link-primary);\n --emoji-item-color-background: var(--dt-action-color-background-base-hover);\n\n .dt-emoji-row__reaction-number {\n font-weight: var(--dt-font-weight-bold);\n }\n\n &:hover {\n --emoji-item-color-inset-shadow: var(--dt-color-border-brand-strong);\n --emoji-item-color-foreground: var(--dt-color-link-primary-hover);\n }\n\n &:active {\n --emoji-item-color-background: var(--dt-action-color-background-base-active);\n }\n }\n }\n\n &__emoji {\n margin-right: var(--dt-space-300);\n display: inline-flex;\n }\n\n &__reaction-number {\n // set font properties individually to change line height,\n // as font shorthand property will override line-height.\n font-weight: var(--dt-typography-body-sm-font-weight);\n font-size: var(--dt-typography-body-sm-font-size);\n font-family: var(--dt-typography-body-sm-font-family);\n line-height: var(--dt-font-line-height-100);\n font-variant: tabular-nums;\n }\n}\n</style>\n"],"names":["REACTIONS_ATTRIBUTES","_sfc_main","name","components","DtTooltip","DtButton","DtEmoji","DtEmojiTextWrapper","mixins","props","reactions","type","Array","default","validator","reaction","validInput","every","attribute","undefined","emits","methods","emojiClicked","$emit","emojiUnicodeOrShortname","emojiHovered","state","_hoisted_1","class","_hoisted_3","_hoisted_4","_hoisted_5","_openBlock","_createElementBlock","_Fragment","_renderList","$props","key","unicodeOutput","_createVNode","_component_dt_tooltip","sticky","onShown","shown","$options","anchor","_withCtx","attrs","_component_dt_button","importance","size","_normalizeClass","isSelected","ariaLabel","onClick","$event","_createElementVNode","_component_dt_emoji","code","_toDisplayString","num","_component_dt_emoji_text_wrapper","_createTextVNode","tooltip","_renderSlot","_ctx","$slots"],"mappings":";;;;;;;;;;;;;;;;AAAaA,MAAAA,uBAAuB,CAClC,2BACA,cACA,aACA,WACA,KAAK;ACgDP,MAAKC,YAAU;AAAA,EACbC,MAAM;AAAA,EAENC,YAAY;AAAA,IAAEC;AAAAA,IAAWC;AAAAA,IAAUC;AAAAA,IAASC,oBAAAA;AAAAA,EAAoB;AAAA,EAEhEC,QAAQ,CAAE;AAAA,EAEVC,OAAO;AAAA;AAAA;AAAA;AAAA,IAILC,WAAW;AAAA,MACTC,MAAMC;AAAAA,MACNC,SAASA,MAAM,CAAE;AAAA,MACjBC,WAAYJ,eAAc;AACxB,mBAAWK,YAAYL,WAAW;AAChC,gBAAMM,aAAahB,qBAAqBiB,MAAOC,eAAcH,SAASG,SAAS,MAAMC,MAAkB;AACvG,cAAI,CAACH;AAAY,mBAAO;AAAA,QAC1B;AACA,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACD;AAAA,EAEDI,OAAO,CACL,iBACA,eAAe;AAAA,EAGjBC,SAAS;AAAA,IACPC,aAAcP,UAAU;AACtB,WAAKQ,MAAM,iBAAiBR,SAASS,uBAAuB;AAAA,IAC7D;AAAA,IAEDC,aAAcV,UAAUW,OAAO;AAC7B,WAAKH,MAAM,iBAAiB;AAAA,QAC1BR,UAAUA,SAASS;AAAAA,QACnBE;AAAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AA7FQ,MAAAC,aAAA;AAAA,EAAAC,OAAM;AAAc;;AAYd,MAAAC,aAAA;AAAA,EAAA,eAAY;AAAM;AAed,MAAAC,aAAA;AAAA,EAAAF,OAAM;AAAqB;AAM3B,MAAAG,aAAA;AAAA,EAAAH,OAAM;AAA+B;;;;;;AAjCrD,SAAAI,UAAA,GAAAC,mBA0CO,QA1CPN,YA0CO,mBAzCLM,mBAsCOC,UAAA,MAAAC,WArCcC,OAAS1B,WAArBK,cAAQ;wBADjBkB,mBAsCO,QAAA;AAAA,MApCJI,KAAKtB,SAASuB;AAAAA,MACdvB;AAAAA,QAEDwB,YAgCaC,uBAAA;AAAA,MA/BXZ,OAAM;AAAA,MACN,iBAAc;AAAA,MACda,QAAO;AAAA,MACNC,SAAQC,WAAUC,sBAAa7B,UAAU4B,KAAK;AAAA;MAOpCE,QAAMC,QACf,CAkBY;AAAA,QAnBOC;AAAAA,MAAK,MAAA,CACxBR,YAkBYS,sBAAA;AAAA,QAjBVC,YAAW;AAAA,QACXC,MAAK;AAAA,QACL,WAAQ;AAAA,QACPtB,OAAKuB,eAAA,CAAA,0BAA6BpC,SAASqC,aAAU,qCAAA,EAAA,CAAA;AAAA,QACrD,cAAYrC,SAASsC;AAAAA,QACrBN;AAAAA,QACAO,SAAKC,YAAEX,SAAYtB,aAACP,QAAQ;AAAA;yBAE7B,MAKO,CALPyC,mBAKO,QALP1B,YAKO,CAJLS,YAGEkB,qBAAA;AAAA,UAFAP,MAAK;AAAA,UACJQ,MAAM3C,SAASS;AAAAA,iCAGpBgC,mBAEO,QAFPzB,YACK4B,gBAAA5C,SAAS6C,GAAG,GAAA,CAAA,CAAA;;;uBAtBrB,MAIO,CAJPJ,mBAIO,QAJP3B,YAIO,CAHLU,YAEwBsB,kCAAA;AAAA,QAFDX,MAAK;AAAA,MAAK,GAAA;AAAA,yBAC/B,MAAsB,CAAnBY,gBAAAH,gBAAA5C,SAASgD,OAAO,GAAA,CAAA,CAAA;;;;;aA2B3BC,WAAsBC,KAAAC,QAAA,QAAA,CAAA;;;"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const common_emoji = require("../chunks/index-lu2o2f4r.js");
3
+ const common_emoji = require("../chunks/index-fEp0B-5Z.js");
4
4
  const vue = require("vue");
5
- const icon_constants = require("../chunks/icon_constants-QYpmdE0R.js");
5
+ const icon_constants = require("../chunks/icon_constants-bvhFNOPu.js");
6
6
  const lib_emoji = require("./emoji.cjs");
7
7
  require("@dialpad/dialtone-emojis");
8
8
  require("@dialpad/dialtone-icons/icons.json");
@@ -50,9 +50,14 @@ const _sfc_main = {
50
50
  const items = textContent.split(regexp);
51
51
  return items.filter((item) => item.trim() !== "").map((item) => {
52
52
  if (replaceList.includes(item)) {
53
- return vue.h(lib_emoji.DtEmoji, { code: item, size: this.size });
53
+ return vue.h(lib_emoji.DtEmoji, {
54
+ code: item,
55
+ size: this.size
56
+ });
54
57
  }
55
- return vue.h("span", { class: "d-emoji-text-wrapper__text" }, item);
58
+ return vue.h("span", {
59
+ class: "d-emoji-text-wrapper__text"
60
+ }, item);
56
61
  });
57
62
  },
58
63
  /**
@@ -90,14 +95,10 @@ const _sfc_main = {
90
95
  },
91
96
  render() {
92
97
  const defaultSlotContent = this.$slots.default ? this.$slots.default() : [];
93
- return vue.h(
94
- this.elementType,
95
- {
96
- "data-qa": "emoji-text-wrapper",
97
- class: "d-emoji-text-wrapper"
98
- },
99
- this.loadingEmojiJson ? defaultSlotContent : defaultSlotContent.map((VNode) => this.searchVNodes(VNode))
100
- );
98
+ return vue.h(this.elementType, {
99
+ "data-qa": "emoji-text-wrapper",
100
+ class: "d-emoji-text-wrapper"
101
+ }, this.loadingEmojiJson ? defaultSlotContent : defaultSlotContent.map((VNode) => this.searchVNodes(VNode)));
101
102
  }
102
103
  };
103
104
  exports.DtEmojiTextWrapper = _sfc_main;
@@ -1 +1 @@
1
- {"version":3,"file":"emoji-text-wrapper.cjs","sources":["../../components/emoji_text_wrapper/emoji_text_wrapper.vue"],"sourcesContent":["<script>\nimport { DtEmoji } from '../emoji';\nimport { findEmojis, findShortCodes } from '@/common/emoji';\nimport { h } from 'vue';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants';\n\n/**\n * Wrapper to find and replace shortcodes like :smile: or unicode chars such as 😄 with our custom Emojis implementation.\n * @see https://dialtone.dialpad.com/components/emoji_text_wrapper.html\n */\nexport default {\n name: 'DtEmojiTextWrapper',\n\n components: {\n DtEmoji,\n },\n\n props: {\n /**\n * Element type (tag name) to use for the wrapper.\n */\n elementType: {\n type: String,\n default: 'div',\n },\n\n /**\n * The icon size to render the emojis at: 100 to 800\n */\n size: {\n type: String,\n default: '500',\n validator: (t) => Object.keys(ICON_SIZE_MODIFIERS).includes(t),\n },\n },\n\n data () {\n return {\n loadingEmojiJson: true,\n };\n },\n\n async created () {\n this.loadingEmojiJson = false;\n },\n\n methods: {\n /**\n * Replaces the valid codes from the text content with a DtEmoji component.\n * @returns {Array<VNode|string>}\n */\n replaceDtEmojis (replaceList, textContent) {\n if (!replaceList.length) return textContent;\n\n const regexp = new RegExp(`(${replaceList.join('|')})`, 'g');\n const items = textContent.split(regexp);\n\n return items\n .filter(item => item.trim() !== '')\n .map((item) => {\n if (replaceList.includes(item)) {\n return h(DtEmoji, { code: item, size: this.size });\n }\n return h('span', { class: 'd-emoji-text-wrapper__text' }, item);\n });\n },\n\n /**\n * Recursively search the Vue virtual DOM to find text\n * @param VNode\n * @returns {VNode|*}\n */\n searchVNodes (VNode) {\n if (typeof VNode === 'string') return this.searchCodes(VNode);\n if (typeof VNode.type === 'symbol') return this.searchCodes(VNode.children);\n if (VNode.props?.innerHTML) return this.searchVNodes(VNode.props.innerHTML);\n\n const children = Array.isArray(VNode.children) ? VNode.children : [VNode.children];\n return h(VNode.type, VNode.props, children.map(VNodeChild => this.searchVNodes(VNodeChild)));\n },\n\n // TODO: Find a way to crawl vue components\n replaceVueComponentVNodeContent (VNode) {\n //\n },\n\n /**\n * Find codes in text.\n * @param textContent string\n * @returns {Array<VNode|string>|string}\n */\n searchCodes (textContent) {\n const shortcodes = findShortCodes(textContent);\n const emojis = findEmojis(textContent);\n\n const replaceList = [...shortcodes, ...emojis];\n if (replaceList.length === 0) return textContent;\n return this.replaceDtEmojis(replaceList, textContent);\n },\n },\n\n render () {\n const defaultSlotContent = this.$slots.default ? this.$slots.default() : [];\n return h(\n this.elementType,\n {\n 'data-qa': 'emoji-text-wrapper',\n class: 'd-emoji-text-wrapper',\n },\n this.loadingEmojiJson\n ? defaultSlotContent\n : defaultSlotContent.map(VNode => this.searchVNodes(VNode)),\n );\n },\n};\n</script>\n"],"names":["DtEmoji","ICON_SIZE_MODIFIERS","h","findShortCodes","findEmojis"],"mappings":";;;;;;;;;;AAUK,MAAA,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,SAAAA,UAAO;AAAA,EACR;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAC,MAAM,OAAO,KAAKC,kCAAmB,EAAE,SAAS,CAAC;AAAA,IAC9D;AAAA,EACF;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL,kBAAkB;AAAA;EAErB;AAAA,EAED,MAAM,UAAW;AACf,SAAK,mBAAmB;AAAA,EACzB;AAAA,EAED,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,gBAAiB,aAAa,aAAa;AACzC,UAAI,CAAC,YAAY;AAAQ,eAAO;AAEhC,YAAM,SAAS,IAAI,OAAO,IAAI,YAAY,KAAK,GAAG,CAAC,KAAK,GAAG;AAC3D,YAAM,QAAQ,YAAY,MAAM,MAAM;AAEtC,aAAO,MACJ,OAAO,UAAQ,KAAK,KAAI,MAAO,EAAE,EACjC,IAAI,CAAC,SAAS;AACb,YAAI,YAAY,SAAS,IAAI,GAAG;AAC9B,iBAAOC,IAAC,EAACF,UAAO,SAAE,EAAE,MAAM,MAAM,MAAM,KAAK,KAAG,CAAG;AAAA,QACnD;AACA,eAAOE,IAAAA,EAAE,QAAQ,EAAE,OAAO,6BAA2B,GAAK,IAAI;AAAA,MAChE,CAAC;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,aAAc,OAAO;;AACnB,UAAI,OAAO,UAAU;AAAU,eAAO,KAAK,YAAY,KAAK;AAC5D,UAAI,OAAO,MAAM,SAAS;AAAU,eAAO,KAAK,YAAY,MAAM,QAAQ;AAC1E,WAAI,WAAM,UAAN,mBAAa;AAAW,eAAO,KAAK,aAAa,MAAM,MAAM,SAAS;AAE1E,YAAM,WAAW,MAAM,QAAQ,MAAM,QAAQ,IAAI,MAAM,WAAW,CAAC,MAAM,QAAQ;AACjF,aAAOA,IAAC,EAAC,MAAM,MAAM,MAAM,OAAO,SAAS,IAAI,gBAAc,KAAK,aAAa,UAAU,CAAC,CAAC;AAAA,IAC5F;AAAA;AAAA,IAGD,gCAAiC,OAAO;AAAA,IAEvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,YAAa,aAAa;AACxB,YAAM,aAAaC,4BAAe,WAAW;AAC7C,YAAM,SAASC,wBAAW,WAAW;AAErC,YAAM,cAAc,CAAC,GAAG,YAAY,GAAG,MAAM;AAC7C,UAAI,YAAY,WAAW;AAAG,eAAO;AACrC,aAAO,KAAK,gBAAgB,aAAa,WAAW;AAAA,IACrD;AAAA,EACF;AAAA,EAED,SAAU;AACR,UAAM,qBAAqB,KAAK,OAAO,UAAU,KAAK,OAAO,QAAU,IAAE;AACzE,WAAOF,IAAC;AAAA,MACN,KAAK;AAAA,MACL;AAAA,QACE,WAAW;AAAA,QACX,OAAO;AAAA,MACR;AAAA,MACD,KAAK,mBACD,qBACA,mBAAmB,IAAI,WAAS,KAAK,aAAa,KAAK,CAAC;AAAA;EAE/D;AACH;;"}
1
+ {"version":3,"file":"emoji-text-wrapper.cjs","sources":["../../components/emoji_text_wrapper/emoji_text_wrapper.vue"],"sourcesContent":["<script>\nimport { DtEmoji } from '../emoji';\nimport { findEmojis, findShortCodes } from '@/common/emoji';\nimport { h } from 'vue';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants';\n\n/**\n * Wrapper to find and replace shortcodes like :smile: or unicode chars such as 😄 with our custom Emojis implementation.\n * @see https://dialtone.dialpad.com/components/emoji_text_wrapper.html\n */\nexport default {\n name: 'DtEmojiTextWrapper',\n\n components: {\n DtEmoji,\n },\n\n props: {\n /**\n * Element type (tag name) to use for the wrapper.\n */\n elementType: {\n type: String,\n default: 'div',\n },\n\n /**\n * The icon size to render the emojis at: 100 to 800\n */\n size: {\n type: String,\n default: '500',\n validator: (t) => Object.keys(ICON_SIZE_MODIFIERS).includes(t),\n },\n },\n\n data () {\n return {\n loadingEmojiJson: true,\n };\n },\n\n async created () {\n this.loadingEmojiJson = false;\n },\n\n methods: {\n /**\n * Replaces the valid codes from the text content with a DtEmoji component.\n * @returns {Array<VNode|string>}\n */\n replaceDtEmojis (replaceList, textContent) {\n if (!replaceList.length) return textContent;\n\n const regexp = new RegExp(`(${replaceList.join('|')})`, 'g');\n const items = textContent.split(regexp);\n\n return items\n .filter(item => item.trim() !== '')\n .map((item) => {\n if (replaceList.includes(item)) {\n return h(DtEmoji, { code: item, size: this.size });\n }\n return h('span', { class: 'd-emoji-text-wrapper__text' }, item);\n });\n },\n\n /**\n * Recursively search the Vue virtual DOM to find text\n * @param VNode\n * @returns {VNode|*}\n */\n searchVNodes (VNode) {\n if (typeof VNode === 'string') return this.searchCodes(VNode);\n if (typeof VNode.type === 'symbol') return this.searchCodes(VNode.children);\n if (VNode.props?.innerHTML) return this.searchVNodes(VNode.props.innerHTML);\n\n const children = Array.isArray(VNode.children) ? VNode.children : [VNode.children];\n return h(VNode.type, VNode.props, children.map(VNodeChild => this.searchVNodes(VNodeChild)));\n },\n\n // TODO: Find a way to crawl vue components\n replaceVueComponentVNodeContent (VNode) {\n //\n },\n\n /**\n * Find codes in text.\n * @param textContent string\n * @returns {Array<VNode|string>|string}\n */\n searchCodes (textContent) {\n const shortcodes = findShortCodes(textContent);\n const emojis = findEmojis(textContent);\n\n const replaceList = [...shortcodes, ...emojis];\n if (replaceList.length === 0) return textContent;\n return this.replaceDtEmojis(replaceList, textContent);\n },\n },\n\n render () {\n const defaultSlotContent = this.$slots.default ? this.$slots.default() : [];\n return h(\n this.elementType,\n {\n 'data-qa': 'emoji-text-wrapper',\n class: 'd-emoji-text-wrapper',\n },\n this.loadingEmojiJson\n ? defaultSlotContent\n : defaultSlotContent.map(VNode => this.searchVNodes(VNode)),\n );\n },\n};\n</script>\n"],"names":["_sfc_main","name","components","DtEmoji","props","elementType","type","String","default","size","validator","t","Object","keys","ICON_SIZE_MODIFIERS","includes","data","loadingEmojiJson","created","methods","replaceDtEmojis","replaceList","textContent","length","regexp","RegExp","join","items","split","filter","item","trim","map","h","code","class","searchVNodes","VNode","searchCodes","children","innerHTML","Array","isArray","VNodeChild","replaceVueComponentVNodeContent","shortcodes","findShortCodes","emojis","findEmojis","render","defaultSlotContent","$slots"],"mappings":";;;;;;;;;;AAUA,MAAKA,YAAU;AAAA,EACbC,MAAM;AAAA,EAENC,YAAY;AAAA,IACVC,SAAAA,UAAAA;AAAAA,EACD;AAAA,EAEDC,OAAO;AAAA;AAAA;AAAA;AAAA,IAILC,aAAa;AAAA,MACXC,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKDC,MAAM;AAAA,MACJH,MAAMC;AAAAA,MACNC,SAAS;AAAA,MACTE,WAAYC,OAAMC,OAAOC,KAAKC,eAAAA,mBAAmB,EAAEC,SAASJ,CAAC;AAAA,IAC/D;AAAA,EACD;AAAA,EAEDK,OAAQ;AACN,WAAO;AAAA,MACLC,kBAAkB;AAAA;EAErB;AAAA,EAED,MAAMC,UAAW;AACf,SAAKD,mBAAmB;AAAA,EACzB;AAAA,EAEDE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAKPC,gBAAiBC,aAAaC,aAAa;AACzC,UAAI,CAACD,YAAYE;AAAQ,eAAOD;AAEhC,YAAME,SAAS,IAAIC,OAAO,IAAIJ,YAAYK,KAAK,GAAG,CAAC,KAAK,GAAG;AAC3D,YAAMC,QAAQL,YAAYM,MAAMJ,MAAM;AAEtC,aAAOG,MACJE,OAAOC,UAAQA,KAAKC,KAAI,MAAO,EAAE,EACjCC,IAAKF,UAAS;AACb,YAAIT,YAAYN,SAASe,IAAI,GAAG;AAC9B,iBAAOG,IAAAA,EAAE9B,UAAAA,SAAS;AAAA,YAAE+B,MAAMJ;AAAAA,YAAMrB,MAAM,KAAKA;AAAAA,UAAK,CAAC;AAAA,QACnD;AACA,eAAOwB,IAAAA,EAAE,QAAQ;AAAA,UAAEE,OAAO;AAAA,QAA8B,GAAEL,IAAI;AAAA,MAChE,CAAC;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAODM,aAAcC,OAAO;;AACnB,UAAI,OAAOA,UAAU;AAAU,eAAO,KAAKC,YAAYD,KAAK;AAC5D,UAAI,OAAOA,MAAM/B,SAAS;AAAU,eAAO,KAAKgC,YAAYD,MAAME,QAAQ;AAC1E,WAAIF,WAAMjC,UAANiC,mBAAaG;AAAW,eAAO,KAAKJ,aAAaC,MAAMjC,MAAMoC,SAAS;AAE1E,YAAMD,WAAWE,MAAMC,QAAQL,MAAME,QAAQ,IAAIF,MAAME,WAAW,CAACF,MAAME,QAAQ;AACjF,aAAON,IAAC,EAACI,MAAM/B,MAAM+B,MAAMjC,OAAOmC,SAASP,IAAIW,gBAAc,KAAKP,aAAaO,UAAU,CAAC,CAAC;AAAA,IAC5F;AAAA;AAAA,IAGDC,gCAAiCP,OAAO;AAAA,IAEvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAODC,YAAahB,aAAa;AACxB,YAAMuB,aAAaC,4BAAexB,WAAW;AAC7C,YAAMyB,SAASC,wBAAW1B,WAAW;AAErC,YAAMD,cAAc,CAAC,GAAGwB,YAAY,GAAGE,MAAM;AAC7C,UAAI1B,YAAYE,WAAW;AAAG,eAAOD;AACrC,aAAO,KAAKF,gBAAgBC,aAAaC,WAAW;AAAA,IACtD;AAAA,EACD;AAAA,EAED2B,SAAU;AACR,UAAMC,qBAAqB,KAAKC,OAAO3C,UAAU,KAAK2C,OAAO3C,QAAU,IAAE;AACzE,WAAOyB,IAAC,EACN,KAAK5B,aACL;AAAA,MACE,WAAW;AAAA,MACX8B,OAAO;AAAA,IACR,GACD,KAAKlB,mBACDiC,qBACAA,mBAAmBlB,IAAIK,WAAS,KAAKD,aAAaC,KAAK,CAAC,CAC9D;AAAA,EACF;AACF;;"}
@@ -1,6 +1,6 @@
1
- import { findShortCodes, findEmojis } from "../chunks/index-GVD15GIB.js";
1
+ import { findShortCodes, findEmojis } from "../chunks/index-dfdrE-3M.js";
2
2
  import { h } from "vue";
3
- import { ICON_SIZE_MODIFIERS } from "../chunks/icon_constants-Dy4MEUJL.js";
3
+ import { ICON_SIZE_MODIFIERS } from "../chunks/icon_constants-gIQj4mf7.js";
4
4
  import { DtEmoji } from "./emoji.js";
5
5
  import "@dialpad/dialtone-emojis";
6
6
  import "@dialpad/dialtone-icons/icons.json";
@@ -48,9 +48,14 @@ const _sfc_main = {
48
48
  const items = textContent.split(regexp);
49
49
  return items.filter((item) => item.trim() !== "").map((item) => {
50
50
  if (replaceList.includes(item)) {
51
- return h(DtEmoji, { code: item, size: this.size });
51
+ return h(DtEmoji, {
52
+ code: item,
53
+ size: this.size
54
+ });
52
55
  }
53
- return h("span", { class: "d-emoji-text-wrapper__text" }, item);
56
+ return h("span", {
57
+ class: "d-emoji-text-wrapper__text"
58
+ }, item);
54
59
  });
55
60
  },
56
61
  /**
@@ -88,14 +93,10 @@ const _sfc_main = {
88
93
  },
89
94
  render() {
90
95
  const defaultSlotContent = this.$slots.default ? this.$slots.default() : [];
91
- return h(
92
- this.elementType,
93
- {
94
- "data-qa": "emoji-text-wrapper",
95
- class: "d-emoji-text-wrapper"
96
- },
97
- this.loadingEmojiJson ? defaultSlotContent : defaultSlotContent.map((VNode) => this.searchVNodes(VNode))
98
- );
96
+ return h(this.elementType, {
97
+ "data-qa": "emoji-text-wrapper",
98
+ class: "d-emoji-text-wrapper"
99
+ }, this.loadingEmojiJson ? defaultSlotContent : defaultSlotContent.map((VNode) => this.searchVNodes(VNode)));
99
100
  }
100
101
  };
101
102
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"emoji-text-wrapper.js","sources":["../../components/emoji_text_wrapper/emoji_text_wrapper.vue"],"sourcesContent":["<script>\nimport { DtEmoji } from '../emoji';\nimport { findEmojis, findShortCodes } from '@/common/emoji';\nimport { h } from 'vue';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants';\n\n/**\n * Wrapper to find and replace shortcodes like :smile: or unicode chars such as 😄 with our custom Emojis implementation.\n * @see https://dialtone.dialpad.com/components/emoji_text_wrapper.html\n */\nexport default {\n name: 'DtEmojiTextWrapper',\n\n components: {\n DtEmoji,\n },\n\n props: {\n /**\n * Element type (tag name) to use for the wrapper.\n */\n elementType: {\n type: String,\n default: 'div',\n },\n\n /**\n * The icon size to render the emojis at: 100 to 800\n */\n size: {\n type: String,\n default: '500',\n validator: (t) => Object.keys(ICON_SIZE_MODIFIERS).includes(t),\n },\n },\n\n data () {\n return {\n loadingEmojiJson: true,\n };\n },\n\n async created () {\n this.loadingEmojiJson = false;\n },\n\n methods: {\n /**\n * Replaces the valid codes from the text content with a DtEmoji component.\n * @returns {Array<VNode|string>}\n */\n replaceDtEmojis (replaceList, textContent) {\n if (!replaceList.length) return textContent;\n\n const regexp = new RegExp(`(${replaceList.join('|')})`, 'g');\n const items = textContent.split(regexp);\n\n return items\n .filter(item => item.trim() !== '')\n .map((item) => {\n if (replaceList.includes(item)) {\n return h(DtEmoji, { code: item, size: this.size });\n }\n return h('span', { class: 'd-emoji-text-wrapper__text' }, item);\n });\n },\n\n /**\n * Recursively search the Vue virtual DOM to find text\n * @param VNode\n * @returns {VNode|*}\n */\n searchVNodes (VNode) {\n if (typeof VNode === 'string') return this.searchCodes(VNode);\n if (typeof VNode.type === 'symbol') return this.searchCodes(VNode.children);\n if (VNode.props?.innerHTML) return this.searchVNodes(VNode.props.innerHTML);\n\n const children = Array.isArray(VNode.children) ? VNode.children : [VNode.children];\n return h(VNode.type, VNode.props, children.map(VNodeChild => this.searchVNodes(VNodeChild)));\n },\n\n // TODO: Find a way to crawl vue components\n replaceVueComponentVNodeContent (VNode) {\n //\n },\n\n /**\n * Find codes in text.\n * @param textContent string\n * @returns {Array<VNode|string>|string}\n */\n searchCodes (textContent) {\n const shortcodes = findShortCodes(textContent);\n const emojis = findEmojis(textContent);\n\n const replaceList = [...shortcodes, ...emojis];\n if (replaceList.length === 0) return textContent;\n return this.replaceDtEmojis(replaceList, textContent);\n },\n },\n\n render () {\n const defaultSlotContent = this.$slots.default ? this.$slots.default() : [];\n return h(\n this.elementType,\n {\n 'data-qa': 'emoji-text-wrapper',\n class: 'd-emoji-text-wrapper',\n },\n this.loadingEmojiJson\n ? defaultSlotContent\n : defaultSlotContent.map(VNode => this.searchVNodes(VNode)),\n );\n },\n};\n</script>\n"],"names":[],"mappings":";;;;;;;;AAUK,MAAA,YAAU;AAAA,EACb,MAAM;AAAA,EAEN,YAAY;AAAA,IACV;AAAA,EACD;AAAA,EAED,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAC,MAAM,OAAO,KAAK,mBAAmB,EAAE,SAAS,CAAC;AAAA,IAC9D;AAAA,EACF;AAAA,EAED,OAAQ;AACN,WAAO;AAAA,MACL,kBAAkB;AAAA;EAErB;AAAA,EAED,MAAM,UAAW;AACf,SAAK,mBAAmB;AAAA,EACzB;AAAA,EAED,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,gBAAiB,aAAa,aAAa;AACzC,UAAI,CAAC,YAAY;AAAQ,eAAO;AAEhC,YAAM,SAAS,IAAI,OAAO,IAAI,YAAY,KAAK,GAAG,CAAC,KAAK,GAAG;AAC3D,YAAM,QAAQ,YAAY,MAAM,MAAM;AAEtC,aAAO,MACJ,OAAO,UAAQ,KAAK,KAAI,MAAO,EAAE,EACjC,IAAI,CAAC,SAAS;AACb,YAAI,YAAY,SAAS,IAAI,GAAG;AAC9B,iBAAO,EAAE,SAAS,EAAE,MAAM,MAAM,MAAM,KAAK,KAAG,CAAG;AAAA,QACnD;AACA,eAAO,EAAE,QAAQ,EAAE,OAAO,6BAA2B,GAAK,IAAI;AAAA,MAChE,CAAC;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,aAAc,OAAO;;AACnB,UAAI,OAAO,UAAU;AAAU,eAAO,KAAK,YAAY,KAAK;AAC5D,UAAI,OAAO,MAAM,SAAS;AAAU,eAAO,KAAK,YAAY,MAAM,QAAQ;AAC1E,WAAI,WAAM,UAAN,mBAAa;AAAW,eAAO,KAAK,aAAa,MAAM,MAAM,SAAS;AAE1E,YAAM,WAAW,MAAM,QAAQ,MAAM,QAAQ,IAAI,MAAM,WAAW,CAAC,MAAM,QAAQ;AACjF,aAAO,EAAE,MAAM,MAAM,MAAM,OAAO,SAAS,IAAI,gBAAc,KAAK,aAAa,UAAU,CAAC,CAAC;AAAA,IAC5F;AAAA;AAAA,IAGD,gCAAiC,OAAO;AAAA,IAEvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD,YAAa,aAAa;AACxB,YAAM,aAAa,eAAe,WAAW;AAC7C,YAAM,SAAS,WAAW,WAAW;AAErC,YAAM,cAAc,CAAC,GAAG,YAAY,GAAG,MAAM;AAC7C,UAAI,YAAY,WAAW;AAAG,eAAO;AACrC,aAAO,KAAK,gBAAgB,aAAa,WAAW;AAAA,IACrD;AAAA,EACF;AAAA,EAED,SAAU;AACR,UAAM,qBAAqB,KAAK,OAAO,UAAU,KAAK,OAAO,QAAU,IAAE;AACzE,WAAO;AAAA,MACL,KAAK;AAAA,MACL;AAAA,QACE,WAAW;AAAA,QACX,OAAO;AAAA,MACR;AAAA,MACD,KAAK,mBACD,qBACA,mBAAmB,IAAI,WAAS,KAAK,aAAa,KAAK,CAAC;AAAA;EAE/D;AACH;"}
1
+ {"version":3,"file":"emoji-text-wrapper.js","sources":["../../components/emoji_text_wrapper/emoji_text_wrapper.vue"],"sourcesContent":["<script>\nimport { DtEmoji } from '../emoji';\nimport { findEmojis, findShortCodes } from '@/common/emoji';\nimport { h } from 'vue';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants';\n\n/**\n * Wrapper to find and replace shortcodes like :smile: or unicode chars such as 😄 with our custom Emojis implementation.\n * @see https://dialtone.dialpad.com/components/emoji_text_wrapper.html\n */\nexport default {\n name: 'DtEmojiTextWrapper',\n\n components: {\n DtEmoji,\n },\n\n props: {\n /**\n * Element type (tag name) to use for the wrapper.\n */\n elementType: {\n type: String,\n default: 'div',\n },\n\n /**\n * The icon size to render the emojis at: 100 to 800\n */\n size: {\n type: String,\n default: '500',\n validator: (t) => Object.keys(ICON_SIZE_MODIFIERS).includes(t),\n },\n },\n\n data () {\n return {\n loadingEmojiJson: true,\n };\n },\n\n async created () {\n this.loadingEmojiJson = false;\n },\n\n methods: {\n /**\n * Replaces the valid codes from the text content with a DtEmoji component.\n * @returns {Array<VNode|string>}\n */\n replaceDtEmojis (replaceList, textContent) {\n if (!replaceList.length) return textContent;\n\n const regexp = new RegExp(`(${replaceList.join('|')})`, 'g');\n const items = textContent.split(regexp);\n\n return items\n .filter(item => item.trim() !== '')\n .map((item) => {\n if (replaceList.includes(item)) {\n return h(DtEmoji, { code: item, size: this.size });\n }\n return h('span', { class: 'd-emoji-text-wrapper__text' }, item);\n });\n },\n\n /**\n * Recursively search the Vue virtual DOM to find text\n * @param VNode\n * @returns {VNode|*}\n */\n searchVNodes (VNode) {\n if (typeof VNode === 'string') return this.searchCodes(VNode);\n if (typeof VNode.type === 'symbol') return this.searchCodes(VNode.children);\n if (VNode.props?.innerHTML) return this.searchVNodes(VNode.props.innerHTML);\n\n const children = Array.isArray(VNode.children) ? VNode.children : [VNode.children];\n return h(VNode.type, VNode.props, children.map(VNodeChild => this.searchVNodes(VNodeChild)));\n },\n\n // TODO: Find a way to crawl vue components\n replaceVueComponentVNodeContent (VNode) {\n //\n },\n\n /**\n * Find codes in text.\n * @param textContent string\n * @returns {Array<VNode|string>|string}\n */\n searchCodes (textContent) {\n const shortcodes = findShortCodes(textContent);\n const emojis = findEmojis(textContent);\n\n const replaceList = [...shortcodes, ...emojis];\n if (replaceList.length === 0) return textContent;\n return this.replaceDtEmojis(replaceList, textContent);\n },\n },\n\n render () {\n const defaultSlotContent = this.$slots.default ? this.$slots.default() : [];\n return h(\n this.elementType,\n {\n 'data-qa': 'emoji-text-wrapper',\n class: 'd-emoji-text-wrapper',\n },\n this.loadingEmojiJson\n ? defaultSlotContent\n : defaultSlotContent.map(VNode => this.searchVNodes(VNode)),\n );\n },\n};\n</script>\n"],"names":["_sfc_main","name","components","DtEmoji","props","elementType","type","String","default","size","validator","t","Object","keys","ICON_SIZE_MODIFIERS","includes","data","loadingEmojiJson","created","methods","replaceDtEmojis","replaceList","textContent","length","regexp","RegExp","join","items","split","filter","item","trim","map","h","code","class","searchVNodes","VNode","searchCodes","children","innerHTML","Array","isArray","VNodeChild","replaceVueComponentVNodeContent","shortcodes","findShortCodes","emojis","findEmojis","render","defaultSlotContent","$slots"],"mappings":";;;;;;;;AAUA,MAAKA,YAAU;AAAA,EACbC,MAAM;AAAA,EAENC,YAAY;AAAA,IACVC;AAAAA,EACD;AAAA,EAEDC,OAAO;AAAA;AAAA;AAAA;AAAA,IAILC,aAAa;AAAA,MACXC,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKDC,MAAM;AAAA,MACJH,MAAMC;AAAAA,MACNC,SAAS;AAAA,MACTE,WAAYC,OAAMC,OAAOC,KAAKC,mBAAmB,EAAEC,SAASJ,CAAC;AAAA,IAC/D;AAAA,EACD;AAAA,EAEDK,OAAQ;AACN,WAAO;AAAA,MACLC,kBAAkB;AAAA;EAErB;AAAA,EAED,MAAMC,UAAW;AACf,SAAKD,mBAAmB;AAAA,EACzB;AAAA,EAEDE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAKPC,gBAAiBC,aAAaC,aAAa;AACzC,UAAI,CAACD,YAAYE;AAAQ,eAAOD;AAEhC,YAAME,SAAS,IAAIC,OAAO,IAAIJ,YAAYK,KAAK,GAAG,CAAC,KAAK,GAAG;AAC3D,YAAMC,QAAQL,YAAYM,MAAMJ,MAAM;AAEtC,aAAOG,MACJE,OAAOC,UAAQA,KAAKC,KAAI,MAAO,EAAE,EACjCC,IAAKF,UAAS;AACb,YAAIT,YAAYN,SAASe,IAAI,GAAG;AAC9B,iBAAOG,EAAE9B,SAAS;AAAA,YAAE+B,MAAMJ;AAAAA,YAAMrB,MAAM,KAAKA;AAAAA,UAAK,CAAC;AAAA,QACnD;AACA,eAAOwB,EAAE,QAAQ;AAAA,UAAEE,OAAO;AAAA,QAA8B,GAAEL,IAAI;AAAA,MAChE,CAAC;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAODM,aAAcC,OAAO;;AACnB,UAAI,OAAOA,UAAU;AAAU,eAAO,KAAKC,YAAYD,KAAK;AAC5D,UAAI,OAAOA,MAAM/B,SAAS;AAAU,eAAO,KAAKgC,YAAYD,MAAME,QAAQ;AAC1E,WAAIF,WAAMjC,UAANiC,mBAAaG;AAAW,eAAO,KAAKJ,aAAaC,MAAMjC,MAAMoC,SAAS;AAE1E,YAAMD,WAAWE,MAAMC,QAAQL,MAAME,QAAQ,IAAIF,MAAME,WAAW,CAACF,MAAME,QAAQ;AACjF,aAAON,EAAEI,MAAM/B,MAAM+B,MAAMjC,OAAOmC,SAASP,IAAIW,gBAAc,KAAKP,aAAaO,UAAU,CAAC,CAAC;AAAA,IAC5F;AAAA;AAAA,IAGDC,gCAAiCP,OAAO;AAAA,IAEvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAODC,YAAahB,aAAa;AACxB,YAAMuB,aAAaC,eAAexB,WAAW;AAC7C,YAAMyB,SAASC,WAAW1B,WAAW;AAErC,YAAMD,cAAc,CAAC,GAAGwB,YAAY,GAAGE,MAAM;AAC7C,UAAI1B,YAAYE,WAAW;AAAG,eAAOD;AACrC,aAAO,KAAKF,gBAAgBC,aAAaC,WAAW;AAAA,IACtD;AAAA,EACD;AAAA,EAED2B,SAAU;AACR,UAAMC,qBAAqB,KAAKC,OAAO3C,UAAU,KAAK2C,OAAO3C,QAAU,IAAE;AACzE,WAAOyB,EACL,KAAK5B,aACL;AAAA,MACE,WAAW;AAAA,MACX8B,OAAO;AAAA,IACR,GACD,KAAKlB,mBACDiC,qBACAA,mBAAmBlB,IAAIK,WAAS,KAAKD,aAAaC,KAAK,CAAC,CAC9D;AAAA,EACF;AACF;"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const common_emoji = require("../chunks/index-lu2o2f4r.js");
3
+ const common_emoji = require("../chunks/index-fEp0B-5Z.js");
4
4
  const vue = require("vue");
5
5
  const _pluginVue_exportHelper = require("../chunks/_plugin-vue_export-helper-fhnQq0tA.js");
6
6
  const lib_skeleton = require("./skeleton.cjs");
7
- const icon_constants = require("../chunks/icon_constants-QYpmdE0R.js");
7
+ const icon_constants = require("../chunks/icon_constants-bvhFNOPu.js");
8
8
  require("@dialpad/dialtone-emojis");
9
9
  require("@dialpad/dialtone-icons/icons.json");
10
10
  const _sfc_main = {
@@ -131,27 +131,23 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
131
131
  const _component_dt_skeleton = vue.resolveComponent("dt-skeleton");
132
132
  return vue.openBlock(), vue.createElementBlock("span", {
133
133
  class: vue.normalizeClass(["d-emoji d-icon", $options.emojiSize])
134
- }, [
135
- vue.withDirectives(vue.createVNode(_component_dt_skeleton, {
136
- offset: 0,
137
- class: vue.normalizeClass(["d-icon", $options.emojiSize]),
138
- "shape-option": { shape: "circle", size: "100%" }
139
- }, null, 8, ["class"]), [
140
- [vue.vShow, $data.imgLoading && $props.showSkeleton]
141
- ]),
142
- vue.withDirectives(vue.createElementVNode("img", {
143
- ref: "emojiImg",
144
- class: vue.normalizeClass(["d-icon", $options.emojiSize, $props.imgClass]),
145
- "aria-label": $options.emojiLabel,
146
- alt: $options.emojiAlt,
147
- title: $options.emojiLabel,
148
- src: $options.emojiSrc,
149
- onLoad: _cache[0] || (_cache[0] = (...args) => $options.imageLoaded && $options.imageLoaded(...args)),
150
- onError: _cache[1] || (_cache[1] = (...args) => $options.imageErrored && $options.imageErrored(...args))
151
- }, null, 42, _hoisted_1), [
152
- [vue.vShow, !$data.imgLoading]
153
- ])
154
- ], 2);
134
+ }, [vue.withDirectives(vue.createVNode(_component_dt_skeleton, {
135
+ offset: 0,
136
+ class: vue.normalizeClass(["d-icon", $options.emojiSize]),
137
+ "shape-option": {
138
+ shape: "circle",
139
+ size: "100%"
140
+ }
141
+ }, null, 8, ["class"]), [[vue.vShow, $data.imgLoading && $props.showSkeleton]]), vue.withDirectives(vue.createElementVNode("img", {
142
+ ref: "emojiImg",
143
+ class: vue.normalizeClass(["d-icon", $options.emojiSize, $props.imgClass]),
144
+ "aria-label": $options.emojiLabel,
145
+ alt: $options.emojiAlt,
146
+ title: $options.emojiLabel,
147
+ src: $options.emojiSrc,
148
+ onLoad: _cache[0] || (_cache[0] = (...args) => $options.imageLoaded && $options.imageLoaded(...args)),
149
+ onError: _cache[1] || (_cache[1] = (...args) => $options.imageErrored && $options.imageErrored(...args))
150
+ }, null, 42, _hoisted_1), [[vue.vShow, !$data.imgLoading]])], 2);
155
151
  }
156
152
  const DtEmoji = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["render", _sfc_render]]);
157
153
  exports.DtEmoji = DtEmoji;
@@ -1 +1 @@
1
- {"version":3,"file":"emoji.cjs","sources":["../../components/emoji/emoji.vue"],"sourcesContent":["<template>\n <span :class=\"['d-emoji d-icon', emojiSize]\">\n <dt-skeleton\n v-show=\"imgLoading && showSkeleton\"\n :offset=\"0\"\n :class=\"['d-icon', emojiSize]\"\n :shape-option=\"{ shape: 'circle', size: '100%' }\"\n />\n <img\n v-show=\"!imgLoading\"\n ref=\"emojiImg\"\n :class=\"['d-icon', emojiSize, imgClass]\"\n :aria-label=\"emojiLabel\"\n :alt=\"emojiAlt\"\n :title=\"emojiLabel\"\n :src=\"emojiSrc\"\n @load=\"imageLoaded\"\n @error=\"imageErrored\"\n >\n </span>\n</template>\n\n<script>\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon';\nimport {\n codeToEmojiData,\n stringToUnicode,\n emojiImageUrlSmall,\n emojiFileExtensionSmall,\n emojiImageUrlLarge,\n emojiFileExtensionLarge,\n customEmojiAssetUrl,\n} from '@/common/emoji';\nimport { DtSkeleton } from '@/components/skeleton';\n\n/**\n * Renders an emoji from a shortcode such as :smile: or unicode character such as 😄\n * @see https://dialtone.dialpad.com/components/emoji.html\n */\nexport default {\n name: 'DtEmoji',\n\n components: {\n DtSkeleton,\n },\n\n props: {\n /**\n * Supports shortcode ex: :smile: or unicode ex: 😄. Will display the resulting emoji.\n * <a class=\"d-link\" href=\"https://emojipedia.org/joypixels/\" target=\"_blank\">JoyPixels</a>\n * for all supported shortcode/unicode or the docs for setting up custom emojis.\n */\n code: {\n type: String,\n required: true,\n },\n\n /**\n * The size of the emoji. Can be any of the icon size utility classes from\n * <a class=\"d-link\" href=\"https://dialtone.dialpad.com/components/icon.html\" target=\"_blank\"> Dialpad Icon Size</a>\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: String,\n default: '500',\n validator: (t) => Object.keys(ICON_SIZE_MODIFIERS).includes(t),\n },\n\n /**\n * Additional class name for the emoji img element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n imgClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Will be read out on a screen reader for this emoji. You must use this prop if you want your emoji to be i18n\n * Compatible as Dialtone Vue will not translate it by itself. If you do not set this prop the aria-label will\n * be set to the english description of the emoji. You can retrieve the description for an emoji yourself via the\n * getEmojiData() function\n */\n ariaLabel: {\n type: String,\n default: null,\n },\n\n /**\n * Shows a skeleton loader while the emoji asset is loading.\n * @values true, false\n */\n showSkeleton: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n emojiData: null,\n imgLoading: false,\n };\n },\n\n computed: {\n emojiDataValid () {\n return !!this.emojiData;\n },\n\n emojiSrc () {\n if (!this.emojiDataValid) { return 'invalid'; }\n\n // custom emoji\n if (this.emojiData?.custom) {\n return customEmojiAssetUrl + this.emojiData.key + this.emojiData.extension;\n }\n\n if (['100', '200'].includes(this.size)) {\n return emojiImageUrlSmall + this.emojiData.key + emojiFileExtensionSmall;\n } else {\n return emojiImageUrlLarge + this.emojiData.key + emojiFileExtensionLarge;\n }\n },\n\n emojiAlt () {\n if (!this.emojiDataValid) { return undefined; }\n return this.emojiData.unicode_output ? stringToUnicode(this.emojiData.unicode_output) : this.emojiData.name;\n },\n\n emojiLabel () {\n if (!this.emojiDataValid) { return 'Invalid Emoji'; }\n return this.ariaLabel ? this.ariaLabel : this.emojiData.name;\n },\n\n emojiSize () {\n return ICON_SIZE_MODIFIERS[this.size];\n },\n },\n\n watch: {\n code: {\n handler: function () {\n this.getEmojiData();\n },\n\n immediate: true,\n },\n\n emojiSrc: {\n handler: async function () {\n this.imgLoading = true;\n },\n\n immediate: true,\n },\n },\n\n methods: {\n getEmojiData () {\n this.emojiData = codeToEmojiData(this.code);\n },\n\n imageLoaded () {\n this.imgLoading = false;\n },\n\n imageErrored () {\n this.imgLoading = false;\n },\n },\n};\n</script>\n"],"names":["DtSkeleton","ICON_SIZE_MODIFIERS","customEmojiAssetUrl","emojiImageUrlSmall","emojiFileExtensionSmall","emojiImageUrlLarge","emojiFileExtensionLarge","stringToUnicode","codeToEmojiData","_createElementBlock","_createVNode","_vShow","_createElementVNode","_normalizeClass"],"mappings":"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"}
1
+ {"version":3,"file":"emoji.cjs","sources":["../../components/emoji/emoji.vue"],"sourcesContent":["<template>\n <span :class=\"['d-emoji d-icon', emojiSize]\">\n <dt-skeleton\n v-show=\"imgLoading && showSkeleton\"\n :offset=\"0\"\n :class=\"['d-icon', emojiSize]\"\n :shape-option=\"{ shape: 'circle', size: '100%' }\"\n />\n <img\n v-show=\"!imgLoading\"\n ref=\"emojiImg\"\n :class=\"['d-icon', emojiSize, imgClass]\"\n :aria-label=\"emojiLabel\"\n :alt=\"emojiAlt\"\n :title=\"emojiLabel\"\n :src=\"emojiSrc\"\n @load=\"imageLoaded\"\n @error=\"imageErrored\"\n >\n </span>\n</template>\n\n<script>\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon';\nimport {\n codeToEmojiData,\n stringToUnicode,\n emojiImageUrlSmall,\n emojiFileExtensionSmall,\n emojiImageUrlLarge,\n emojiFileExtensionLarge,\n customEmojiAssetUrl,\n} from '@/common/emoji';\nimport { DtSkeleton } from '@/components/skeleton';\n\n/**\n * Renders an emoji from a shortcode such as :smile: or unicode character such as 😄\n * @see https://dialtone.dialpad.com/components/emoji.html\n */\nexport default {\n name: 'DtEmoji',\n\n components: {\n DtSkeleton,\n },\n\n props: {\n /**\n * Supports shortcode ex: :smile: or unicode ex: 😄. Will display the resulting emoji.\n * <a class=\"d-link\" href=\"https://emojipedia.org/joypixels/\" target=\"_blank\">JoyPixels</a>\n * for all supported shortcode/unicode or the docs for setting up custom emojis.\n */\n code: {\n type: String,\n required: true,\n },\n\n /**\n * The size of the emoji. Can be any of the icon size utility classes from\n * <a class=\"d-link\" href=\"https://dialtone.dialpad.com/components/icon.html\" target=\"_blank\"> Dialpad Icon Size</a>\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: String,\n default: '500',\n validator: (t) => Object.keys(ICON_SIZE_MODIFIERS).includes(t),\n },\n\n /**\n * Additional class name for the emoji img element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n imgClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Will be read out on a screen reader for this emoji. You must use this prop if you want your emoji to be i18n\n * Compatible as Dialtone Vue will not translate it by itself. If you do not set this prop the aria-label will\n * be set to the english description of the emoji. You can retrieve the description for an emoji yourself via the\n * getEmojiData() function\n */\n ariaLabel: {\n type: String,\n default: null,\n },\n\n /**\n * Shows a skeleton loader while the emoji asset is loading.\n * @values true, false\n */\n showSkeleton: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n emojiData: null,\n imgLoading: false,\n };\n },\n\n computed: {\n emojiDataValid () {\n return !!this.emojiData;\n },\n\n emojiSrc () {\n if (!this.emojiDataValid) { return 'invalid'; }\n\n // custom emoji\n if (this.emojiData?.custom) {\n return customEmojiAssetUrl + this.emojiData.key + this.emojiData.extension;\n }\n\n if (['100', '200'].includes(this.size)) {\n return emojiImageUrlSmall + this.emojiData.key + emojiFileExtensionSmall;\n } else {\n return emojiImageUrlLarge + this.emojiData.key + emojiFileExtensionLarge;\n }\n },\n\n emojiAlt () {\n if (!this.emojiDataValid) { return undefined; }\n return this.emojiData.unicode_output ? stringToUnicode(this.emojiData.unicode_output) : this.emojiData.name;\n },\n\n emojiLabel () {\n if (!this.emojiDataValid) { return 'Invalid Emoji'; }\n return this.ariaLabel ? this.ariaLabel : this.emojiData.name;\n },\n\n emojiSize () {\n return ICON_SIZE_MODIFIERS[this.size];\n },\n },\n\n watch: {\n code: {\n handler: function () {\n this.getEmojiData();\n },\n\n immediate: true,\n },\n\n emojiSrc: {\n handler: async function () {\n this.imgLoading = true;\n },\n\n immediate: true,\n },\n },\n\n methods: {\n getEmojiData () {\n this.emojiData = codeToEmojiData(this.code);\n },\n\n imageLoaded () {\n this.imgLoading = false;\n },\n\n imageErrored () {\n this.imgLoading = false;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","name","components","DtSkeleton","props","code","type","String","required","size","default","validator","t","Object","keys","ICON_SIZE_MODIFIERS","includes","imgClass","Array","ariaLabel","showSkeleton","Boolean","data","emojiData","imgLoading","computed","emojiDataValid","emojiSrc","custom","customEmojiAssetUrl","key","extension","emojiImageUrlSmall","emojiFileExtensionSmall","emojiImageUrlLarge","emojiFileExtensionLarge","emojiAlt","undefined","unicode_output","stringToUnicode","emojiLabel","emojiSize","watch","handler","getEmojiData","immediate","methods","codeToEmojiData","imageLoaded","imageErrored","_createElementBlock","class","$options","_createVNode","_component_dt_skeleton","offset","shape","_vShow","$data","$props","_createElementVNode","ref","_normalizeClass","alt","title","src","onLoad","args","onError"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { customEmojiAssetUrl, emojiImageUrlSmall, emojiFileExtensionSmall, emojiImageUrlLarge, emojiFileExtensionLarge, stringToUnicode, codeToEmojiData } from "../chunks/index-GVD15GIB.js";
1
+ import { customEmojiAssetUrl, emojiImageUrlSmall, emojiFileExtensionSmall, emojiImageUrlLarge, emojiFileExtensionLarge, stringToUnicode, codeToEmojiData } from "../chunks/index-dfdrE-3M.js";
2
2
  import { resolveComponent, openBlock, createElementBlock, normalizeClass, withDirectives, createVNode, vShow, createElementVNode } from "vue";
3
3
  import { _export_sfc } from "../chunks/_plugin-vue_export-helper-caHeSgYY.js";
4
4
  import { DtSkeleton } from "./skeleton.js";
5
- import { ICON_SIZE_MODIFIERS } from "../chunks/icon_constants-Dy4MEUJL.js";
5
+ import { ICON_SIZE_MODIFIERS } from "../chunks/icon_constants-gIQj4mf7.js";
6
6
  import "@dialpad/dialtone-emojis";
7
7
  import "@dialpad/dialtone-icons/icons.json";
8
8
  const _sfc_main = {
@@ -129,27 +129,23 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
129
129
  const _component_dt_skeleton = resolveComponent("dt-skeleton");
130
130
  return openBlock(), createElementBlock("span", {
131
131
  class: normalizeClass(["d-emoji d-icon", $options.emojiSize])
132
- }, [
133
- withDirectives(createVNode(_component_dt_skeleton, {
134
- offset: 0,
135
- class: normalizeClass(["d-icon", $options.emojiSize]),
136
- "shape-option": { shape: "circle", size: "100%" }
137
- }, null, 8, ["class"]), [
138
- [vShow, $data.imgLoading && $props.showSkeleton]
139
- ]),
140
- withDirectives(createElementVNode("img", {
141
- ref: "emojiImg",
142
- class: normalizeClass(["d-icon", $options.emojiSize, $props.imgClass]),
143
- "aria-label": $options.emojiLabel,
144
- alt: $options.emojiAlt,
145
- title: $options.emojiLabel,
146
- src: $options.emojiSrc,
147
- onLoad: _cache[0] || (_cache[0] = (...args) => $options.imageLoaded && $options.imageLoaded(...args)),
148
- onError: _cache[1] || (_cache[1] = (...args) => $options.imageErrored && $options.imageErrored(...args))
149
- }, null, 42, _hoisted_1), [
150
- [vShow, !$data.imgLoading]
151
- ])
152
- ], 2);
132
+ }, [withDirectives(createVNode(_component_dt_skeleton, {
133
+ offset: 0,
134
+ class: normalizeClass(["d-icon", $options.emojiSize]),
135
+ "shape-option": {
136
+ shape: "circle",
137
+ size: "100%"
138
+ }
139
+ }, null, 8, ["class"]), [[vShow, $data.imgLoading && $props.showSkeleton]]), withDirectives(createElementVNode("img", {
140
+ ref: "emojiImg",
141
+ class: normalizeClass(["d-icon", $options.emojiSize, $props.imgClass]),
142
+ "aria-label": $options.emojiLabel,
143
+ alt: $options.emojiAlt,
144
+ title: $options.emojiLabel,
145
+ src: $options.emojiSrc,
146
+ onLoad: _cache[0] || (_cache[0] = (...args) => $options.imageLoaded && $options.imageLoaded(...args)),
147
+ onError: _cache[1] || (_cache[1] = (...args) => $options.imageErrored && $options.imageErrored(...args))
148
+ }, null, 42, _hoisted_1), [[vShow, !$data.imgLoading]])], 2);
153
149
  }
154
150
  const DtEmoji = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
155
151
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"emoji.js","sources":["../../components/emoji/emoji.vue"],"sourcesContent":["<template>\n <span :class=\"['d-emoji d-icon', emojiSize]\">\n <dt-skeleton\n v-show=\"imgLoading && showSkeleton\"\n :offset=\"0\"\n :class=\"['d-icon', emojiSize]\"\n :shape-option=\"{ shape: 'circle', size: '100%' }\"\n />\n <img\n v-show=\"!imgLoading\"\n ref=\"emojiImg\"\n :class=\"['d-icon', emojiSize, imgClass]\"\n :aria-label=\"emojiLabel\"\n :alt=\"emojiAlt\"\n :title=\"emojiLabel\"\n :src=\"emojiSrc\"\n @load=\"imageLoaded\"\n @error=\"imageErrored\"\n >\n </span>\n</template>\n\n<script>\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon';\nimport {\n codeToEmojiData,\n stringToUnicode,\n emojiImageUrlSmall,\n emojiFileExtensionSmall,\n emojiImageUrlLarge,\n emojiFileExtensionLarge,\n customEmojiAssetUrl,\n} from '@/common/emoji';\nimport { DtSkeleton } from '@/components/skeleton';\n\n/**\n * Renders an emoji from a shortcode such as :smile: or unicode character such as 😄\n * @see https://dialtone.dialpad.com/components/emoji.html\n */\nexport default {\n name: 'DtEmoji',\n\n components: {\n DtSkeleton,\n },\n\n props: {\n /**\n * Supports shortcode ex: :smile: or unicode ex: 😄. Will display the resulting emoji.\n * <a class=\"d-link\" href=\"https://emojipedia.org/joypixels/\" target=\"_blank\">JoyPixels</a>\n * for all supported shortcode/unicode or the docs for setting up custom emojis.\n */\n code: {\n type: String,\n required: true,\n },\n\n /**\n * The size of the emoji. Can be any of the icon size utility classes from\n * <a class=\"d-link\" href=\"https://dialtone.dialpad.com/components/icon.html\" target=\"_blank\"> Dialpad Icon Size</a>\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: String,\n default: '500',\n validator: (t) => Object.keys(ICON_SIZE_MODIFIERS).includes(t),\n },\n\n /**\n * Additional class name for the emoji img element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n imgClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Will be read out on a screen reader for this emoji. You must use this prop if you want your emoji to be i18n\n * Compatible as Dialtone Vue will not translate it by itself. If you do not set this prop the aria-label will\n * be set to the english description of the emoji. You can retrieve the description for an emoji yourself via the\n * getEmojiData() function\n */\n ariaLabel: {\n type: String,\n default: null,\n },\n\n /**\n * Shows a skeleton loader while the emoji asset is loading.\n * @values true, false\n */\n showSkeleton: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n emojiData: null,\n imgLoading: false,\n };\n },\n\n computed: {\n emojiDataValid () {\n return !!this.emojiData;\n },\n\n emojiSrc () {\n if (!this.emojiDataValid) { return 'invalid'; }\n\n // custom emoji\n if (this.emojiData?.custom) {\n return customEmojiAssetUrl + this.emojiData.key + this.emojiData.extension;\n }\n\n if (['100', '200'].includes(this.size)) {\n return emojiImageUrlSmall + this.emojiData.key + emojiFileExtensionSmall;\n } else {\n return emojiImageUrlLarge + this.emojiData.key + emojiFileExtensionLarge;\n }\n },\n\n emojiAlt () {\n if (!this.emojiDataValid) { return undefined; }\n return this.emojiData.unicode_output ? stringToUnicode(this.emojiData.unicode_output) : this.emojiData.name;\n },\n\n emojiLabel () {\n if (!this.emojiDataValid) { return 'Invalid Emoji'; }\n return this.ariaLabel ? this.ariaLabel : this.emojiData.name;\n },\n\n emojiSize () {\n return ICON_SIZE_MODIFIERS[this.size];\n },\n },\n\n watch: {\n code: {\n handler: function () {\n this.getEmojiData();\n },\n\n immediate: true,\n },\n\n emojiSrc: {\n handler: async function () {\n this.imgLoading = true;\n },\n\n immediate: true,\n },\n },\n\n methods: {\n getEmojiData () {\n this.emojiData = codeToEmojiData(this.code);\n },\n\n imageLoaded () {\n this.imgLoading = false;\n },\n\n imageErrored () {\n this.imgLoading = false;\n },\n },\n};\n</script>\n"],"names":["_createElementBlock","_createVNode","_vShow","_createElementVNode","_normalizeClass"],"mappings":"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"}
1
+ {"version":3,"file":"emoji.js","sources":["../../components/emoji/emoji.vue"],"sourcesContent":["<template>\n <span :class=\"['d-emoji d-icon', emojiSize]\">\n <dt-skeleton\n v-show=\"imgLoading && showSkeleton\"\n :offset=\"0\"\n :class=\"['d-icon', emojiSize]\"\n :shape-option=\"{ shape: 'circle', size: '100%' }\"\n />\n <img\n v-show=\"!imgLoading\"\n ref=\"emojiImg\"\n :class=\"['d-icon', emojiSize, imgClass]\"\n :aria-label=\"emojiLabel\"\n :alt=\"emojiAlt\"\n :title=\"emojiLabel\"\n :src=\"emojiSrc\"\n @load=\"imageLoaded\"\n @error=\"imageErrored\"\n >\n </span>\n</template>\n\n<script>\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon';\nimport {\n codeToEmojiData,\n stringToUnicode,\n emojiImageUrlSmall,\n emojiFileExtensionSmall,\n emojiImageUrlLarge,\n emojiFileExtensionLarge,\n customEmojiAssetUrl,\n} from '@/common/emoji';\nimport { DtSkeleton } from '@/components/skeleton';\n\n/**\n * Renders an emoji from a shortcode such as :smile: or unicode character such as 😄\n * @see https://dialtone.dialpad.com/components/emoji.html\n */\nexport default {\n name: 'DtEmoji',\n\n components: {\n DtSkeleton,\n },\n\n props: {\n /**\n * Supports shortcode ex: :smile: or unicode ex: 😄. Will display the resulting emoji.\n * <a class=\"d-link\" href=\"https://emojipedia.org/joypixels/\" target=\"_blank\">JoyPixels</a>\n * for all supported shortcode/unicode or the docs for setting up custom emojis.\n */\n code: {\n type: String,\n required: true,\n },\n\n /**\n * The size of the emoji. Can be any of the icon size utility classes from\n * <a class=\"d-link\" href=\"https://dialtone.dialpad.com/components/icon.html\" target=\"_blank\"> Dialpad Icon Size</a>\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: String,\n default: '500',\n validator: (t) => Object.keys(ICON_SIZE_MODIFIERS).includes(t),\n },\n\n /**\n * Additional class name for the emoji img element.\n * Can accept String, Object, and Array, i.e. has the\n * same API as Vue's built-in handling of the class attribute.\n */\n imgClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Will be read out on a screen reader for this emoji. You must use this prop if you want your emoji to be i18n\n * Compatible as Dialtone Vue will not translate it by itself. If you do not set this prop the aria-label will\n * be set to the english description of the emoji. You can retrieve the description for an emoji yourself via the\n * getEmojiData() function\n */\n ariaLabel: {\n type: String,\n default: null,\n },\n\n /**\n * Shows a skeleton loader while the emoji asset is loading.\n * @values true, false\n */\n showSkeleton: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n emojiData: null,\n imgLoading: false,\n };\n },\n\n computed: {\n emojiDataValid () {\n return !!this.emojiData;\n },\n\n emojiSrc () {\n if (!this.emojiDataValid) { return 'invalid'; }\n\n // custom emoji\n if (this.emojiData?.custom) {\n return customEmojiAssetUrl + this.emojiData.key + this.emojiData.extension;\n }\n\n if (['100', '200'].includes(this.size)) {\n return emojiImageUrlSmall + this.emojiData.key + emojiFileExtensionSmall;\n } else {\n return emojiImageUrlLarge + this.emojiData.key + emojiFileExtensionLarge;\n }\n },\n\n emojiAlt () {\n if (!this.emojiDataValid) { return undefined; }\n return this.emojiData.unicode_output ? stringToUnicode(this.emojiData.unicode_output) : this.emojiData.name;\n },\n\n emojiLabel () {\n if (!this.emojiDataValid) { return 'Invalid Emoji'; }\n return this.ariaLabel ? this.ariaLabel : this.emojiData.name;\n },\n\n emojiSize () {\n return ICON_SIZE_MODIFIERS[this.size];\n },\n },\n\n watch: {\n code: {\n handler: function () {\n this.getEmojiData();\n },\n\n immediate: true,\n },\n\n emojiSrc: {\n handler: async function () {\n this.imgLoading = true;\n },\n\n immediate: true,\n },\n },\n\n methods: {\n getEmojiData () {\n this.emojiData = codeToEmojiData(this.code);\n },\n\n imageLoaded () {\n this.imgLoading = false;\n },\n\n imageErrored () {\n this.imgLoading = false;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","name","components","DtSkeleton","props","code","type","String","required","size","default","validator","t","Object","keys","ICON_SIZE_MODIFIERS","includes","imgClass","Array","ariaLabel","showSkeleton","Boolean","data","emojiData","imgLoading","computed","emojiDataValid","emojiSrc","custom","customEmojiAssetUrl","key","extension","emojiImageUrlSmall","emojiFileExtensionSmall","emojiImageUrlLarge","emojiFileExtensionLarge","emojiAlt","undefined","unicode_output","stringToUnicode","emojiLabel","emojiSize","watch","handler","getEmojiData","immediate","methods","codeToEmojiData","imageLoaded","imageErrored","_createElementBlock","class","$options","_createVNode","_component_dt_skeleton","offset","shape","_vShow","$data","$props","_createElementVNode","ref","_normalizeClass","alt","title","src","onLoad","args","onError"],"mappings":"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"}