@dialpad/dialtone-vue 2.153.0 → 2.154.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 (398) hide show
  1. package/dist/chunks/{dropdown-YdCyJ5Dq.js → dropdown-6UoczdUY.js} +41 -77
  2. package/dist/chunks/{dropdown-YdCyJ5Dq.js.map → dropdown-6UoczdUY.js.map} +1 -1
  3. package/dist/chunks/{dropdown-mjrYu_mK.js → dropdown-pHxnQPzT.js} +41 -77
  4. package/dist/chunks/{dropdown-mjrYu_mK.js.map → dropdown-pHxnQPzT.js.map} +1 -1
  5. package/dist/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  6. package/dist/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  7. package/dist/chunks/{icon_constants-TdxqLsS2.js → icon_constants-Dy4MEUJL.js} +2 -3
  8. package/dist/chunks/icon_constants-Dy4MEUJL.js.map +1 -0
  9. package/dist/chunks/{icon_constants-VEA0wI5C.js → icon_constants-QYpmdE0R.js} +2 -3
  10. package/dist/chunks/icon_constants-QYpmdE0R.js.map +1 -0
  11. package/dist/chunks/{index-i65YVk-U.js → index-ODod4Oj_.js} +13 -5
  12. package/dist/chunks/{index-i65YVk-U.js.map → index-ODod4Oj_.js.map} +1 -1
  13. package/dist/chunks/{index-NYFNZeHH.js → index-anN_sx1F.js} +13 -5
  14. package/dist/chunks/{index-NYFNZeHH.js.map → index-anN_sx1F.js.map} +1 -1
  15. package/dist/chunks/{index-mBWay1Qb.js → index-eJ-WWRdf.js} +87 -122
  16. package/dist/chunks/{index-mBWay1Qb.js.map → index-eJ-WWRdf.js.map} +1 -1
  17. package/dist/chunks/{index-DyqUqjvI.js → index-gj1jEXP4.js} +87 -122
  18. package/dist/chunks/{index-DyqUqjvI.js.map → index-gj1jEXP4.js.map} +1 -1
  19. package/dist/chunks/{input-PhJeBN6r.js → input-6kbd8Pju.js} +9 -3
  20. package/dist/chunks/{input-PhJeBN6r.js.map → input-6kbd8Pju.js.map} +1 -1
  21. package/dist/chunks/{input-Hqw33WBe.js → input-Axw-wFj2.js} +9 -3
  22. package/dist/chunks/{input-Hqw33WBe.js.map → input-Axw-wFj2.js.map} +1 -1
  23. package/dist/chunks/{input_group-pE6ec9R3.js → input_group-m3cWYUfI.js} +2 -4
  24. package/dist/chunks/{input_group-ZI7aVGEp.js.map → input_group-m3cWYUfI.js.map} +1 -1
  25. package/dist/chunks/{input_group-ZI7aVGEp.js → input_group-qVZaS5Bb.js} +2 -4
  26. package/dist/chunks/{input_group-pE6ec9R3.js.map → input_group-qVZaS5Bb.js.map} +1 -1
  27. package/dist/chunks/{keyboard_list_navigation-YIqTuw1W.js → keyboard_list_navigation-ScXhrxya.js} +5 -6
  28. package/dist/chunks/{keyboard_list_navigation-x3D6RcC7.js.map → keyboard_list_navigation-ScXhrxya.js.map} +1 -1
  29. package/dist/chunks/{keyboard_list_navigation-x3D6RcC7.js → keyboard_list_navigation-fJnl_Iox.js} +5 -6
  30. package/dist/chunks/{keyboard_list_navigation-YIqTuw1W.js.map → keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
  31. package/dist/chunks/link_constants-AfTWrr-n.js.map +1 -1
  32. package/dist/chunks/link_constants-x8NwdqmA.js.map +1 -1
  33. package/dist/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  34. package/dist/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  35. package/dist/chunks/{modal-OaWxzqNt.js → modal-VgxXAQFP.js} +2 -4
  36. package/dist/chunks/{modal-OaWxzqNt.js.map → modal-VgxXAQFP.js.map} +1 -1
  37. package/dist/chunks/{modal-8X6poIZW.js → modal-XOr4kiNZ.js} +2 -4
  38. package/dist/chunks/{modal-8X6poIZW.js.map → modal-XOr4kiNZ.js.map} +1 -1
  39. package/dist/chunks/{notice_action-qQr3K2TC.js → notice_action-IRUoLX2d.js} +46 -71
  40. package/dist/chunks/{notice_action-qQr3K2TC.js.map → notice_action-IRUoLX2d.js.map} +1 -1
  41. package/dist/chunks/{notice_action-tEvvMg7Q.js → notice_action-P6uDyE9x.js} +46 -71
  42. package/dist/chunks/{notice_action-tEvvMg7Q.js.map → notice_action-P6uDyE9x.js.map} +1 -1
  43. package/dist/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  44. package/dist/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  45. package/dist/chunks/{popover_constants-6YkPPbnk.js → popover_constants-WsOUIY-m.js} +47 -26
  46. package/dist/chunks/{popover_constants-6YkPPbnk.js.map → popover_constants-WsOUIY-m.js.map} +1 -1
  47. package/dist/chunks/{popover_constants-h9MD6WUt.js → popover_constants-XnGWXaxX.js} +47 -26
  48. package/dist/chunks/{popover_constants-h9MD6WUt.js.map → popover_constants-XnGWXaxX.js.map} +1 -1
  49. package/dist/chunks/{sr_only_close_button-IjMVfBDE.js → sr_only_close_button-81bHIpPu.js} +18 -24
  50. package/dist/chunks/{sr_only_close_button-IjMVfBDE.js.map → sr_only_close_button-81bHIpPu.js.map} +1 -1
  51. package/dist/chunks/{sr_only_close_button-2Q9Ny1Nc.js → sr_only_close_button-ZaGdAHz7.js} +18 -24
  52. package/dist/chunks/{sr_only_close_button-2Q9Ny1Nc.js.map → sr_only_close_button-ZaGdAHz7.js.map} +1 -1
  53. package/dist/chunks/stack_constants-HraCekPm.js.map +1 -1
  54. package/dist/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  55. package/dist/chunks/{tab-79yMX6m6.js → tab-FcsV5VmK.js} +68 -86
  56. package/dist/chunks/{tab-muPOS7JE.js.map → tab-FcsV5VmK.js.map} +1 -1
  57. package/dist/chunks/{tab-muPOS7JE.js → tab-V4cb44Ry.js} +68 -86
  58. package/dist/chunks/{tab-79yMX6m6.js.map → tab-V4cb44Ry.js.map} +1 -1
  59. package/dist/common/constants.cjs.map +1 -1
  60. package/dist/common/constants.js.map +1 -1
  61. package/dist/common/dates.cjs +1 -3
  62. package/dist/common/dates.cjs.map +1 -1
  63. package/dist/common/dates.js +1 -3
  64. package/dist/common/dates.js.map +1 -1
  65. package/dist/common/emoji.cjs +1 -1
  66. package/dist/common/emoji.js +1 -1
  67. package/dist/common/mixins.cjs +3 -3
  68. package/dist/common/mixins.js +3 -3
  69. package/dist/common/utils.cjs +44 -8
  70. package/dist/common/utils.cjs.map +1 -1
  71. package/dist/common/utils.js +44 -8
  72. package/dist/common/utils.js.map +1 -1
  73. package/dist/common/validators.cjs.map +1 -1
  74. package/dist/common/validators.js.map +1 -1
  75. package/dist/component-documentation.json +1 -1
  76. package/dist/dialtone-vue.cjs +12 -12
  77. package/dist/dialtone-vue.js +12 -12
  78. package/dist/lib/attachment-carousel.cjs +48 -172
  79. package/dist/lib/attachment-carousel.cjs.map +1 -1
  80. package/dist/lib/attachment-carousel.js +48 -172
  81. package/dist/lib/attachment-carousel.js.map +1 -1
  82. package/dist/lib/avatar.cjs +58 -75
  83. package/dist/lib/avatar.cjs.map +1 -1
  84. package/dist/lib/avatar.js +58 -75
  85. package/dist/lib/avatar.js.map +1 -1
  86. package/dist/lib/badge.cjs +20 -31
  87. package/dist/lib/badge.cjs.map +1 -1
  88. package/dist/lib/badge.js +20 -31
  89. package/dist/lib/badge.js.map +1 -1
  90. package/dist/lib/banner.cjs +29 -53
  91. package/dist/lib/banner.cjs.map +1 -1
  92. package/dist/lib/banner.js +29 -53
  93. package/dist/lib/banner.js.map +1 -1
  94. package/dist/lib/breadcrumbs.cjs +30 -36
  95. package/dist/lib/breadcrumbs.cjs.map +1 -1
  96. package/dist/lib/breadcrumbs.js +30 -36
  97. package/dist/lib/breadcrumbs.js.map +1 -1
  98. package/dist/lib/button-group.cjs +14 -7
  99. package/dist/lib/button-group.cjs.map +1 -1
  100. package/dist/lib/button-group.js +14 -7
  101. package/dist/lib/button-group.js.map +1 -1
  102. package/dist/lib/button.cjs +62 -55
  103. package/dist/lib/button.cjs.map +1 -1
  104. package/dist/lib/button.js +62 -55
  105. package/dist/lib/button.js.map +1 -1
  106. package/dist/lib/callbar-button-with-popover.cjs +23 -91
  107. package/dist/lib/callbar-button-with-popover.cjs.map +1 -1
  108. package/dist/lib/callbar-button-with-popover.js +23 -91
  109. package/dist/lib/callbar-button-with-popover.js.map +1 -1
  110. package/dist/lib/callbar-button.cjs +33 -49
  111. package/dist/lib/callbar-button.cjs.map +1 -1
  112. package/dist/lib/callbar-button.js +33 -49
  113. package/dist/lib/callbar-button.js.map +1 -1
  114. package/dist/lib/callbox.cjs +15 -78
  115. package/dist/lib/callbox.cjs.map +1 -1
  116. package/dist/lib/callbox.js +15 -78
  117. package/dist/lib/callbox.js.map +1 -1
  118. package/dist/lib/card.cjs +23 -16
  119. package/dist/lib/card.cjs.map +1 -1
  120. package/dist/lib/card.js +23 -16
  121. package/dist/lib/card.js.map +1 -1
  122. package/dist/lib/checkbox-group.cjs +15 -3
  123. package/dist/lib/checkbox-group.cjs.map +1 -1
  124. package/dist/lib/checkbox-group.js +15 -3
  125. package/dist/lib/checkbox-group.js.map +1 -1
  126. package/dist/lib/checkbox.cjs +16 -52
  127. package/dist/lib/checkbox.cjs.map +1 -1
  128. package/dist/lib/checkbox.js +16 -52
  129. package/dist/lib/checkbox.js.map +1 -1
  130. package/dist/lib/chip.cjs +26 -58
  131. package/dist/lib/chip.cjs.map +1 -1
  132. package/dist/lib/chip.js +26 -58
  133. package/dist/lib/chip.js.map +1 -1
  134. package/dist/lib/codeblock.cjs +11 -4
  135. package/dist/lib/codeblock.cjs.map +1 -1
  136. package/dist/lib/codeblock.js +11 -4
  137. package/dist/lib/codeblock.js.map +1 -1
  138. package/dist/lib/collapsible.cjs +34 -91
  139. package/dist/lib/collapsible.cjs.map +1 -1
  140. package/dist/lib/collapsible.js +34 -91
  141. package/dist/lib/collapsible.js.map +1 -1
  142. package/dist/lib/combobox-multi-select.cjs +38 -131
  143. package/dist/lib/combobox-multi-select.cjs.map +1 -1
  144. package/dist/lib/combobox-multi-select.js +38 -131
  145. package/dist/lib/combobox-multi-select.js.map +1 -1
  146. package/dist/lib/combobox-with-popover.cjs +39 -130
  147. package/dist/lib/combobox-with-popover.cjs.map +1 -1
  148. package/dist/lib/combobox-with-popover.js +39 -130
  149. package/dist/lib/combobox-with-popover.js.map +1 -1
  150. package/dist/lib/combobox.cjs +3 -3
  151. package/dist/lib/combobox.js +3 -3
  152. package/dist/lib/contact-centers-row.cjs +29 -86
  153. package/dist/lib/contact-centers-row.cjs.map +1 -1
  154. package/dist/lib/contact-centers-row.js +29 -86
  155. package/dist/lib/contact-centers-row.js.map +1 -1
  156. package/dist/lib/contact-info.cjs +31 -95
  157. package/dist/lib/contact-info.cjs.map +1 -1
  158. package/dist/lib/contact-info.js +31 -95
  159. package/dist/lib/contact-info.js.map +1 -1
  160. package/dist/lib/contact-row.cjs +18 -61
  161. package/dist/lib/contact-row.cjs.map +1 -1
  162. package/dist/lib/contact-row.js +18 -61
  163. package/dist/lib/contact-row.js.map +1 -1
  164. package/dist/lib/datepicker.cjs +102 -361
  165. package/dist/lib/datepicker.cjs.map +1 -1
  166. package/dist/lib/datepicker.js +102 -361
  167. package/dist/lib/datepicker.js.map +1 -1
  168. package/dist/lib/description-list.cjs +12 -11
  169. package/dist/lib/description-list.cjs.map +1 -1
  170. package/dist/lib/description-list.js +12 -11
  171. package/dist/lib/description-list.js.map +1 -1
  172. package/dist/lib/dropdown.cjs +17 -13
  173. package/dist/lib/dropdown.cjs.map +1 -1
  174. package/dist/lib/dropdown.js +17 -13
  175. package/dist/lib/dropdown.js.map +1 -1
  176. package/dist/lib/editor.cjs +109 -409
  177. package/dist/lib/editor.cjs.map +1 -1
  178. package/dist/lib/editor.js +109 -409
  179. package/dist/lib/editor.js.map +1 -1
  180. package/dist/lib/emoji-picker.cjs +234 -512
  181. package/dist/lib/emoji-picker.cjs.map +1 -1
  182. package/dist/lib/emoji-picker.js +234 -512
  183. package/dist/lib/emoji-picker.js.map +1 -1
  184. package/dist/lib/emoji-row.cjs +31 -69
  185. package/dist/lib/emoji-row.cjs.map +1 -1
  186. package/dist/lib/emoji-row.js +31 -69
  187. package/dist/lib/emoji-row.js.map +1 -1
  188. package/dist/lib/emoji-text-wrapper.cjs +22 -14
  189. package/dist/lib/emoji-text-wrapper.cjs.map +1 -1
  190. package/dist/lib/emoji-text-wrapper.js +22 -14
  191. package/dist/lib/emoji-text-wrapper.js.map +1 -1
  192. package/dist/lib/emoji.cjs +13 -40
  193. package/dist/lib/emoji.cjs.map +1 -1
  194. package/dist/lib/emoji.js +13 -40
  195. package/dist/lib/emoji.js.map +1 -1
  196. package/dist/lib/empty-state.cjs +12 -27
  197. package/dist/lib/empty-state.cjs.map +1 -1
  198. package/dist/lib/empty-state.js +12 -27
  199. package/dist/lib/empty-state.js.map +1 -1
  200. package/dist/lib/feed-item-row.cjs +27 -106
  201. package/dist/lib/feed-item-row.cjs.map +1 -1
  202. package/dist/lib/feed-item-row.js +27 -106
  203. package/dist/lib/feed-item-row.js.map +1 -1
  204. package/dist/lib/feed-pill.cjs +35 -90
  205. package/dist/lib/feed-pill.cjs.map +1 -1
  206. package/dist/lib/feed-pill.js +35 -90
  207. package/dist/lib/feed-pill.js.map +1 -1
  208. package/dist/lib/general-row.cjs +75 -184
  209. package/dist/lib/general-row.cjs.map +1 -1
  210. package/dist/lib/general-row.js +75 -184
  211. package/dist/lib/general-row.js.map +1 -1
  212. package/dist/lib/group-row.cjs +16 -27
  213. package/dist/lib/group-row.cjs.map +1 -1
  214. package/dist/lib/group-row.js +16 -27
  215. package/dist/lib/group-row.js.map +1 -1
  216. package/dist/lib/grouped-chip.cjs +20 -68
  217. package/dist/lib/grouped-chip.cjs.map +1 -1
  218. package/dist/lib/grouped-chip.js +20 -68
  219. package/dist/lib/grouped-chip.js.map +1 -1
  220. package/dist/lib/hovercard.cjs +41 -71
  221. package/dist/lib/hovercard.cjs.map +1 -1
  222. package/dist/lib/hovercard.js +41 -71
  223. package/dist/lib/hovercard.js.map +1 -1
  224. package/dist/lib/icon.cjs +12 -10
  225. package/dist/lib/icon.cjs.map +1 -1
  226. package/dist/lib/icon.js +12 -10
  227. package/dist/lib/icon.js.map +1 -1
  228. package/dist/lib/illustration.cjs +12 -9
  229. package/dist/lib/illustration.cjs.map +1 -1
  230. package/dist/lib/illustration.js +12 -9
  231. package/dist/lib/illustration.js.map +1 -1
  232. package/dist/lib/image-viewer.cjs +23 -88
  233. package/dist/lib/image-viewer.cjs.map +1 -1
  234. package/dist/lib/image-viewer.js +23 -88
  235. package/dist/lib/image-viewer.js.map +1 -1
  236. package/dist/lib/input-group.cjs +14 -24
  237. package/dist/lib/input-group.cjs.map +1 -1
  238. package/dist/lib/input-group.js +14 -24
  239. package/dist/lib/input-group.js.map +1 -1
  240. package/dist/lib/input.cjs +47 -109
  241. package/dist/lib/input.cjs.map +1 -1
  242. package/dist/lib/input.js +47 -109
  243. package/dist/lib/input.js.map +1 -1
  244. package/dist/lib/item-layout.cjs +11 -42
  245. package/dist/lib/item-layout.cjs.map +1 -1
  246. package/dist/lib/item-layout.js +11 -42
  247. package/dist/lib/item-layout.js.map +1 -1
  248. package/dist/lib/ivr-node.cjs +47 -135
  249. package/dist/lib/ivr-node.cjs.map +1 -1
  250. package/dist/lib/ivr-node.js +47 -135
  251. package/dist/lib/ivr-node.js.map +1 -1
  252. package/dist/lib/keyboard-shortcut.cjs +23 -35
  253. package/dist/lib/keyboard-shortcut.cjs.map +1 -1
  254. package/dist/lib/keyboard-shortcut.js +23 -35
  255. package/dist/lib/keyboard-shortcut.js.map +1 -1
  256. package/dist/lib/lazy-show.cjs +11 -15
  257. package/dist/lib/lazy-show.cjs.map +1 -1
  258. package/dist/lib/lazy-show.js +11 -15
  259. package/dist/lib/lazy-show.js.map +1 -1
  260. package/dist/lib/link.cjs +15 -9
  261. package/dist/lib/link.cjs.map +1 -1
  262. package/dist/lib/link.js +15 -9
  263. package/dist/lib/link.js.map +1 -1
  264. package/dist/lib/list-item-group.cjs +11 -17
  265. package/dist/lib/list-item-group.cjs.map +1 -1
  266. package/dist/lib/list-item-group.js +11 -17
  267. package/dist/lib/list-item-group.js.map +1 -1
  268. package/dist/lib/list-item.cjs +23 -42
  269. package/dist/lib/list-item.cjs.map +1 -1
  270. package/dist/lib/list-item.js +23 -42
  271. package/dist/lib/list-item.js.map +1 -1
  272. package/dist/lib/message-input.cjs +97 -360
  273. package/dist/lib/message-input.cjs.map +1 -1
  274. package/dist/lib/message-input.js +97 -360
  275. package/dist/lib/message-input.js.map +1 -1
  276. package/dist/lib/modal.cjs +36 -94
  277. package/dist/lib/modal.cjs.map +1 -1
  278. package/dist/lib/modal.js +36 -94
  279. package/dist/lib/modal.js.map +1 -1
  280. package/dist/lib/notice.cjs +21 -40
  281. package/dist/lib/notice.cjs.map +1 -1
  282. package/dist/lib/notice.js +21 -40
  283. package/dist/lib/notice.js.map +1 -1
  284. package/dist/lib/pagination.cjs +20 -81
  285. package/dist/lib/pagination.cjs.map +1 -1
  286. package/dist/lib/pagination.js +20 -81
  287. package/dist/lib/pagination.js.map +1 -1
  288. package/dist/lib/popover.cjs +75 -194
  289. package/dist/lib/popover.cjs.map +1 -1
  290. package/dist/lib/popover.js +76 -195
  291. package/dist/lib/popover.js.map +1 -1
  292. package/dist/lib/presence.cjs +22 -23
  293. package/dist/lib/presence.cjs.map +1 -1
  294. package/dist/lib/presence.js +22 -23
  295. package/dist/lib/presence.js.map +1 -1
  296. package/dist/lib/radio-group.cjs +11 -2
  297. package/dist/lib/radio-group.cjs.map +1 -1
  298. package/dist/lib/radio-group.js +11 -2
  299. package/dist/lib/radio-group.js.map +1 -1
  300. package/dist/lib/radio.cjs +15 -47
  301. package/dist/lib/radio.cjs.map +1 -1
  302. package/dist/lib/radio.js +15 -47
  303. package/dist/lib/radio.js.map +1 -1
  304. package/dist/lib/rich-text-editor.cjs +317 -336
  305. package/dist/lib/rich-text-editor.cjs.map +1 -1
  306. package/dist/lib/rich-text-editor.js +317 -336
  307. package/dist/lib/rich-text-editor.js.map +1 -1
  308. package/dist/lib/root-layout.cjs +15 -33
  309. package/dist/lib/root-layout.cjs.map +1 -1
  310. package/dist/lib/root-layout.js +15 -33
  311. package/dist/lib/root-layout.js.map +1 -1
  312. package/dist/lib/scrollbar-directive.cjs +422 -388
  313. package/dist/lib/scrollbar-directive.cjs.map +1 -1
  314. package/dist/lib/scrollbar-directive.js +422 -388
  315. package/dist/lib/scrollbar-directive.js.map +1 -1
  316. package/dist/lib/select-menu.cjs +33 -52
  317. package/dist/lib/select-menu.cjs.map +1 -1
  318. package/dist/lib/select-menu.js +33 -52
  319. package/dist/lib/select-menu.js.map +1 -1
  320. package/dist/lib/settings-menu-button.cjs +16 -42
  321. package/dist/lib/settings-menu-button.cjs.map +1 -1
  322. package/dist/lib/settings-menu-button.js +16 -42
  323. package/dist/lib/settings-menu-button.js.map +1 -1
  324. package/dist/lib/skeleton.cjs +93 -118
  325. package/dist/lib/skeleton.cjs.map +1 -1
  326. package/dist/lib/skeleton.js +93 -118
  327. package/dist/lib/skeleton.js.map +1 -1
  328. package/dist/lib/split-button.cjs +64 -164
  329. package/dist/lib/split-button.cjs.map +1 -1
  330. package/dist/lib/split-button.js +64 -164
  331. package/dist/lib/split-button.js.map +1 -1
  332. package/dist/lib/stack.cjs +33 -21
  333. package/dist/lib/stack.cjs.map +1 -1
  334. package/dist/lib/stack.js +33 -21
  335. package/dist/lib/stack.js.map +1 -1
  336. package/dist/lib/tabs.cjs +13 -20
  337. package/dist/lib/tabs.cjs.map +1 -1
  338. package/dist/lib/tabs.js +13 -20
  339. package/dist/lib/tabs.js.map +1 -1
  340. package/dist/lib/time-pill.cjs +11 -8
  341. package/dist/lib/time-pill.cjs.map +1 -1
  342. package/dist/lib/time-pill.js +11 -8
  343. package/dist/lib/time-pill.js.map +1 -1
  344. package/dist/lib/toast.cjs +21 -42
  345. package/dist/lib/toast.cjs.map +1 -1
  346. package/dist/lib/toast.js +21 -42
  347. package/dist/lib/toast.js.map +1 -1
  348. package/dist/lib/toggle.cjs +24 -28
  349. package/dist/lib/toggle.cjs.map +1 -1
  350. package/dist/lib/toggle.js +24 -28
  351. package/dist/lib/toggle.js.map +1 -1
  352. package/dist/lib/tooltip-directive.cjs +26 -32
  353. package/dist/lib/tooltip-directive.cjs.map +1 -1
  354. package/dist/lib/tooltip-directive.js +26 -32
  355. package/dist/lib/tooltip-directive.js.map +1 -1
  356. package/dist/lib/tooltip.cjs +21 -31
  357. package/dist/lib/tooltip.cjs.map +1 -1
  358. package/dist/lib/tooltip.js +22 -32
  359. package/dist/lib/tooltip.js.map +1 -1
  360. package/dist/lib/top-banner-info.cjs +21 -18
  361. package/dist/lib/top-banner-info.cjs.map +1 -1
  362. package/dist/lib/top-banner-info.js +21 -18
  363. package/dist/lib/top-banner-info.js.map +1 -1
  364. package/dist/lib/unread-pill.cjs +12 -18
  365. package/dist/lib/unread-pill.cjs.map +1 -1
  366. package/dist/lib/unread-pill.js +12 -18
  367. package/dist/lib/unread-pill.js.map +1 -1
  368. package/dist/lib/validation-messages.cjs +16 -23
  369. package/dist/lib/validation-messages.cjs.map +1 -1
  370. package/dist/lib/validation-messages.js +16 -23
  371. package/dist/lib/validation-messages.js.map +1 -1
  372. package/dist/style.css +9 -9
  373. package/dist/types/common/emoji/index.d.ts +59236 -2
  374. package/dist/types/common/emoji/index.d.ts.map +1 -1
  375. package/dist/types/components/button/button.vue.d.ts +1 -1
  376. package/dist/types/components/chip/chip.vue.d.ts +1 -1
  377. package/dist/types/components/combobox/combobox.vue.d.ts +1 -1
  378. package/dist/types/components/icon/icon.vue.d.ts +2 -2
  379. package/dist/types/components/icon/icon_constants.d.ts +1 -1
  380. package/dist/types/components/icon/icon_constants.d.ts.map +1 -1
  381. package/dist/types/components/illustration/illustration.vue.d.ts +2 -2
  382. package/dist/types/components/illustration/illustration_constants.d.ts +1 -1
  383. package/dist/types/components/illustration/illustration_constants.d.ts.map +1 -1
  384. package/dist/types/components/input/input.vue.d.ts +3 -2
  385. package/dist/types/components/input/input.vue.d.ts.map +1 -1
  386. package/dist/types/components/modal/modal.vue.d.ts +1 -1
  387. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
  388. package/dist/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  389. package/dist/types/components/toast/toast.vue.d.ts +1 -1
  390. package/dist/types/components/tooltip/tooltip.vue.d.ts +1 -1
  391. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  392. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  393. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  394. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +15 -0
  395. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  396. package/package.json +2 -4
  397. package/dist/chunks/icon_constants-TdxqLsS2.js.map +0 -1
  398. package/dist/chunks/icon_constants-VEA0wI5C.js.map +0 -1
@@ -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":["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"],"mappings":";;;;;;;;;;;;;;;;AAAaA,MAAAA,uBAAuB,CAClC,2BACA,cACA,aACA,WACA,KAAK;ACgDP,MAAAC,YAAA;AAAA,EACAC,MAAA;AAAA,EAEAC,YAAA;AAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,EAAA;AAAA,EAEAC,QAAA,CAAA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA,IAIAC,WAAA;AAAA,MACAC,MAAAC;AAAAA,MACAC,SAAAA,MAAA,CAAA;AAAA,MACAC,WAAAJ,eAAA;AACA,mBAAAK,YAAAL,WAAA;AACA,gBAAAM,aAAAhB,qBAAAiB,MAAAC,eAAAH,SAAAG,SAAA,MAAAC,MAAA;AACA,cAAA,CAAAH;AAAA,mBAAA;AAAA,QACA;AACA,eAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEAI,OAAA,CACA,iBACA,eAAA;AAAA,EAGAC,SAAA;AAAA,IACAC,aAAAP,UAAA;AACA,WAAAQ,MAAA,iBAAAR,SAAAS,uBAAA;AAAA,IACA;AAAA,IAEAC,aAAAV,UAAAW,OAAA;AACA,WAAAH,MAAA,iBAAA;AAAA,QACAR,UAAAA,SAAAS;AAAAA,QACAE;AAAAA,MACA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
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":[],"mappings":";;;;;;;;;;;;;;;;AAAY,MAAC,uBAAuB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AC+CA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA,EAAA,WAAA,UAAA,SAAA,mBAAA;AAAA,EAEA,QAAA,CAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,CAAA;AAAA,MACA,WAAA,CAAA,cAAA;AACA,mBAAA,YAAA,WAAA;AACA,gBAAA,aAAA,qBAAA,MAAA,CAAA,cAAA,SAAA,SAAA,MAAA,MAAA;AACA,cAAA,CAAA;AAAA,mBAAA;AAAA,QACA;AACA,eAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,aAAA,UAAA;AACA,WAAA,MAAA,iBAAA,SAAA,uBAAA;AAAA,IACA;AAAA,IAEA,aAAA,UAAA,OAAA;AACA,WAAA,MAAA,iBAAA;AAAA,QACA,UAAA,SAAA;AAAA,QACA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const common_emoji = require("../chunks/index-NYFNZeHH.js");
4
- const icon_constants = require("../chunks/icon_constants-VEA0wI5C.js");
3
+ const common_emoji = require("../chunks/index-anN_sx1F.js");
4
+ const icon_constants = require("../chunks/icon_constants-QYpmdE0R.js");
5
5
  const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-1aBeR4AK.js");
6
6
  const lib_emoji = require("./emoji.cjs");
7
7
  require("emoji-toolkit/emoji_strategy.json");
@@ -50,15 +50,10 @@ const _sfc_main = {
50
50
  return items.filter((item) => item.trim() !== "").map((item) => {
51
51
  if (replaceList.includes(item)) {
52
52
  return this.$createElement(lib_emoji.DtEmoji, {
53
- props: {
54
- code: item,
55
- size: this.size
56
- }
53
+ props: { code: item, size: this.size }
57
54
  });
58
55
  }
59
- return this.$createElement("span", {
60
- class: "d-emoji-text-wrapper__text"
61
- }, item);
56
+ return this.$createElement("span", { class: "d-emoji-text-wrapper__text" }, item);
62
57
  });
63
58
  },
64
59
  /**
@@ -90,15 +85,28 @@ const _sfc_main = {
90
85
  },
91
86
  render(h) {
92
87
  const defaultSlotContent = this.$slots.default || [];
93
- return h(this.elementType, {
94
- "data-qa": "emoji-text-wrapper",
95
- class: "d-emoji-text-wrapper"
96
- }, this.loadingEmojiJson ? defaultSlotContent : defaultSlotContent.map((VNode) => this.searchVNodes(VNode)));
88
+ return h(
89
+ this.elementType,
90
+ {
91
+ "data-qa": "emoji-text-wrapper",
92
+ class: "d-emoji-text-wrapper"
93
+ },
94
+ this.loadingEmojiJson ? defaultSlotContent : defaultSlotContent.map((VNode) => this.searchVNodes(VNode))
95
+ );
97
96
  }
98
97
  };
99
98
  const _sfc_render = null;
100
99
  const _sfc_staticRenderFns = null;
101
- var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
100
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
101
+ _sfc_main,
102
+ _sfc_render,
103
+ _sfc_staticRenderFns,
104
+ false,
105
+ null,
106
+ null,
107
+ null,
108
+ null
109
+ );
102
110
  const DtEmojiTextWrapper = __component__.exports;
103
111
  exports.DtEmojiTextWrapper = DtEmojiTextWrapper;
104
112
  //# sourceMappingURL=emoji-text-wrapper.cjs.map
@@ -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 { 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 this.$createElement(DtEmoji, {\n props: { code: item, size: this.size },\n });\n }\n return this.$createElement('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 VNode has no tag, it is a text node\n if (!VNode.tag && VNode.text) {\n return this.searchCodes(VNode.text);\n }\n\n const children = VNode.children ? VNode.children.map(VNodeChild => this.searchVNodes(VNodeChild)) : [];\n return this.$createElement(VNode.tag, VNode.data, children);\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 return this.replaceDtEmojis(replaceList, textContent);\n },\n },\n\n render (h) {\n const defaultSlotContent = 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","$createElement","code","class","searchVNodes","VNode","tag","text","searchCodes","children","VNodeChild","replaceVueComponentVNodeContent","shortcodes","findShortCodes","emojis","findEmojis","render","h","defaultSlotContent","$slots"],"mappings":";;;;;;;;;AASA,MAAAA,YAAA;AAAA,EACAC,MAAA;AAAA,EAEAC,YAAA;AAAA,IACAC,SAAAA,UAAAA;AAAAA,EACA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA,IAIAC,aAAA;AAAA,MACAC,MAAAC;AAAAA,MACAC,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKAC,MAAA;AAAA,MACAH,MAAAC;AAAAA,MACAC,SAAA;AAAA,MACAE,WAAAC,OAAAC,OAAAC,KAAAC,eAAAA,mBAAA,EAAAC,SAAAJ,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAK,OAAA;AACA,WAAA;AAAA,MACAC,kBAAA;AAAA;EAEA;AAAA,EAEA,MAAAC,UAAA;AACA,SAAAD,mBAAA;AAAA,EACA;AAAA,EAEAE,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKAC,gBAAAC,aAAAC,aAAA;AACA,UAAA,CAAAD,YAAAE;AAAA,eAAAD;AAEA,YAAAE,SAAA,IAAAC,OAAA,IAAAJ,YAAAK,KAAA,GAAA,CAAA,KAAA,GAAA;AACA,YAAAC,QAAAL,YAAAM,MAAAJ,MAAA;AAEA,aAAAG,MACAE,OAAAC,UAAAA,KAAAC,KAAA,MAAA,EAAA,EACAC,IAAAF,UAAA;AACA,YAAAT,YAAAN,SAAAe,IAAA,GAAA;AACA,iBAAA,KAAAG,eAAA9B,mBAAA;AAAA,YACAC,OAAA;AAAA,cAAA8B,MAAAJ;AAAAA,cAAArB,MAAA,KAAAA;AAAAA,YAAA;AAAA,UACA,CAAA;AAAA,QACA;AACA,eAAA,KAAAwB,eAAA,QAAA;AAAA,UAAAE,OAAA;AAAA,QAAA,GAAAL,IAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOAM,aAAAC,OAAA;AAEA,UAAA,CAAAA,MAAAC,OAAAD,MAAAE,MAAA;AACA,eAAA,KAAAC,YAAAH,MAAAE,IAAA;AAAA,MACA;AAEA,YAAAE,WAAAJ,MAAAI,WAAAJ,MAAAI,SAAAT,IAAAU,gBAAA,KAAAN,aAAAM,UAAA,CAAA,IAAA,CAAA;AACA,aAAA,KAAAT,eAAAI,MAAAC,KAAAD,MAAArB,MAAAyB,QAAA;AAAA,IACA;AAAA;AAAA,IAGAE,gCAAAN,OAAA;AAAA,IAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOAG,YAAAlB,aAAA;AACA,YAAAsB,aAAAC,4BAAAvB,WAAA;AACA,YAAAwB,SAAAC,wBAAAzB,WAAA;AAEA,YAAAD,cAAA,CAAA,GAAAuB,YAAA,GAAAE,MAAA;AACA,aAAA,KAAA1B,gBAAAC,aAAAC,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA0B,OAAAC,GAAA;AACA,UAAAC,qBAAA,KAAAC,OAAA3C,WAAA,CAAA;AACA,WAAAyC,EACA,KAAA5C,aACA;AAAA,MACA,WAAA;AAAA,MACA8B,OAAA;AAAA,IACA,GACA,KAAAlB,mBACAiC,qBACAA,mBAAAlB,IAAAK,WAAA,KAAAD,aAAAC,KAAA,CAAA,CACA;AAAA,EACA;AACA;;;;;;"}
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 { 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 this.$createElement(DtEmoji, {\n props: { code: item, size: this.size },\n });\n }\n return this.$createElement('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 VNode has no tag, it is a text node\n if (!VNode.tag && VNode.text) {\n return this.searchCodes(VNode.text);\n }\n\n const children = VNode.children ? VNode.children.map(VNodeChild => this.searchVNodes(VNodeChild)) : [];\n return this.$createElement(VNode.tag, VNode.data, children);\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 return this.replaceDtEmojis(replaceList, textContent);\n },\n },\n\n render (h) {\n const defaultSlotContent = 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","findShortCodes","findEmojis"],"mappings":";;;;;;;;;AASA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,SAAAA,UAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,MAAA,OAAA,KAAAC,kCAAA,EAAA,SAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,kBAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,MAAA,UAAA;AACA,SAAA,mBAAA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,gBAAA,aAAA,aAAA;AACA,UAAA,CAAA,YAAA;AAAA,eAAA;AAEA,YAAA,SAAA,IAAA,OAAA,IAAA,YAAA,KAAA,GAAA,CAAA,KAAA,GAAA;AACA,YAAA,QAAA,YAAA,MAAA,MAAA;AAEA,aAAA,MACA,OAAA,UAAA,KAAA,KAAA,MAAA,EAAA,EACA,IAAA,CAAA,SAAA;AACA,YAAA,YAAA,SAAA,IAAA,GAAA;AACA,iBAAA,KAAA,eAAAD,mBAAA;AAAA,YACA,OAAA,EAAA,MAAA,MAAA,MAAA,KAAA,KAAA;AAAA,UACA,CAAA;AAAA,QACA;AACA,eAAA,KAAA,eAAA,QAAA,EAAA,OAAA,6BAAA,GAAA,IAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,aAAA,OAAA;AAEA,UAAA,CAAA,MAAA,OAAA,MAAA,MAAA;AACA,eAAA,KAAA,YAAA,MAAA,IAAA;AAAA,MACA;AAEA,YAAA,WAAA,MAAA,WAAA,MAAA,SAAA,IAAA,gBAAA,KAAA,aAAA,UAAA,CAAA,IAAA,CAAA;AACA,aAAA,KAAA,eAAA,MAAA,KAAA,MAAA,MAAA,QAAA;AAAA,IACA;AAAA;AAAA,IAGA,gCAAA,OAAA;AAAA,IAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,YAAA,aAAA;AACA,YAAA,aAAAE,4BAAA,WAAA;AACA,YAAA,SAAAC,wBAAA,WAAA;AAEA,YAAA,cAAA,CAAA,GAAA,YAAA,GAAA,MAAA;AACA,aAAA,KAAA,gBAAA,aAAA,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA,GAAA;AACA,UAAA,qBAAA,KAAA,OAAA,WAAA,CAAA;AACA,WAAA;AAAA,MACA,KAAA;AAAA,MACA;AAAA,QACA,WAAA;AAAA,QACA,OAAA;AAAA,MACA;AAAA,MACA,KAAA,mBACA,qBACA,mBAAA,IAAA,WAAA,KAAA,aAAA,KAAA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
- import { findShortCodes, findEmojis } from "../chunks/index-i65YVk-U.js";
2
- import { ICON_SIZE_MODIFIERS } from "../chunks/icon_constants-TdxqLsS2.js";
1
+ import { findShortCodes, findEmojis } from "../chunks/index-ODod4Oj_.js";
2
+ import { ICON_SIZE_MODIFIERS } from "../chunks/icon_constants-Dy4MEUJL.js";
3
3
  import { normalizeComponent } from "../chunks/_plugin-vue2_normalizer-sOSkiPF3.js";
4
4
  import { DtEmoji } from "./emoji.js";
5
5
  import "emoji-toolkit/emoji_strategy.json";
@@ -48,15 +48,10 @@ const _sfc_main = {
48
48
  return items.filter((item) => item.trim() !== "").map((item) => {
49
49
  if (replaceList.includes(item)) {
50
50
  return this.$createElement(DtEmoji, {
51
- props: {
52
- code: item,
53
- size: this.size
54
- }
51
+ props: { code: item, size: this.size }
55
52
  });
56
53
  }
57
- return this.$createElement("span", {
58
- class: "d-emoji-text-wrapper__text"
59
- }, item);
54
+ return this.$createElement("span", { class: "d-emoji-text-wrapper__text" }, item);
60
55
  });
61
56
  },
62
57
  /**
@@ -88,15 +83,28 @@ const _sfc_main = {
88
83
  },
89
84
  render(h) {
90
85
  const defaultSlotContent = this.$slots.default || [];
91
- return h(this.elementType, {
92
- "data-qa": "emoji-text-wrapper",
93
- class: "d-emoji-text-wrapper"
94
- }, this.loadingEmojiJson ? defaultSlotContent : defaultSlotContent.map((VNode) => this.searchVNodes(VNode)));
86
+ return h(
87
+ this.elementType,
88
+ {
89
+ "data-qa": "emoji-text-wrapper",
90
+ class: "d-emoji-text-wrapper"
91
+ },
92
+ this.loadingEmojiJson ? defaultSlotContent : defaultSlotContent.map((VNode) => this.searchVNodes(VNode))
93
+ );
95
94
  }
96
95
  };
97
96
  const _sfc_render = null;
98
97
  const _sfc_staticRenderFns = null;
99
- var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
98
+ var __component__ = /* @__PURE__ */ normalizeComponent(
99
+ _sfc_main,
100
+ _sfc_render,
101
+ _sfc_staticRenderFns,
102
+ false,
103
+ null,
104
+ null,
105
+ null,
106
+ null
107
+ );
100
108
  const DtEmojiTextWrapper = __component__.exports;
101
109
  export {
102
110
  DtEmojiTextWrapper
@@ -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 { 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 this.$createElement(DtEmoji, {\n props: { code: item, size: this.size },\n });\n }\n return this.$createElement('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 VNode has no tag, it is a text node\n if (!VNode.tag && VNode.text) {\n return this.searchCodes(VNode.text);\n }\n\n const children = VNode.children ? VNode.children.map(VNodeChild => this.searchVNodes(VNodeChild)) : [];\n return this.$createElement(VNode.tag, VNode.data, children);\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 return this.replaceDtEmojis(replaceList, textContent);\n },\n },\n\n render (h) {\n const defaultSlotContent = 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","$createElement","code","class","searchVNodes","VNode","tag","text","searchCodes","children","VNodeChild","replaceVueComponentVNodeContent","shortcodes","findShortCodes","emojis","findEmojis","render","h","defaultSlotContent","$slots"],"mappings":";;;;;;;AASA,MAAAA,YAAA;AAAA,EACAC,MAAA;AAAA,EAEAC,YAAA;AAAA,IACAC;AAAAA,EACA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA,IAIAC,aAAA;AAAA,MACAC,MAAAC;AAAAA,MACAC,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKAC,MAAA;AAAA,MACAH,MAAAC;AAAAA,MACAC,SAAA;AAAA,MACAE,WAAAC,OAAAC,OAAAC,KAAAC,mBAAA,EAAAC,SAAAJ,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAK,OAAA;AACA,WAAA;AAAA,MACAC,kBAAA;AAAA;EAEA;AAAA,EAEA,MAAAC,UAAA;AACA,SAAAD,mBAAA;AAAA,EACA;AAAA,EAEAE,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKAC,gBAAAC,aAAAC,aAAA;AACA,UAAA,CAAAD,YAAAE;AAAA,eAAAD;AAEA,YAAAE,SAAA,IAAAC,OAAA,IAAAJ,YAAAK,KAAA,GAAA,CAAA,KAAA,GAAA;AACA,YAAAC,QAAAL,YAAAM,MAAAJ,MAAA;AAEA,aAAAG,MACAE,OAAAC,UAAAA,KAAAC,KAAA,MAAA,EAAA,EACAC,IAAAF,UAAA;AACA,YAAAT,YAAAN,SAAAe,IAAA,GAAA;AACA,iBAAA,KAAAG,eAAA9B,SAAA;AAAA,YACAC,OAAA;AAAA,cAAA8B,MAAAJ;AAAAA,cAAArB,MAAA,KAAAA;AAAAA,YAAA;AAAA,UACA,CAAA;AAAA,QACA;AACA,eAAA,KAAAwB,eAAA,QAAA;AAAA,UAAAE,OAAA;AAAA,QAAA,GAAAL,IAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOAM,aAAAC,OAAA;AAEA,UAAA,CAAAA,MAAAC,OAAAD,MAAAE,MAAA;AACA,eAAA,KAAAC,YAAAH,MAAAE,IAAA;AAAA,MACA;AAEA,YAAAE,WAAAJ,MAAAI,WAAAJ,MAAAI,SAAAT,IAAAU,gBAAA,KAAAN,aAAAM,UAAA,CAAA,IAAA,CAAA;AACA,aAAA,KAAAT,eAAAI,MAAAC,KAAAD,MAAArB,MAAAyB,QAAA;AAAA,IACA;AAAA;AAAA,IAGAE,gCAAAN,OAAA;AAAA,IAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOAG,YAAAlB,aAAA;AACA,YAAAsB,aAAAC,eAAAvB,WAAA;AACA,YAAAwB,SAAAC,WAAAzB,WAAA;AAEA,YAAAD,cAAA,CAAA,GAAAuB,YAAA,GAAAE,MAAA;AACA,aAAA,KAAA1B,gBAAAC,aAAAC,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA0B,OAAAC,GAAA;AACA,UAAAC,qBAAA,KAAAC,OAAA3C,WAAA,CAAA;AACA,WAAAyC,EACA,KAAA5C,aACA;AAAA,MACA,WAAA;AAAA,MACA8B,OAAA;AAAA,IACA,GACA,KAAAlB,mBACAiC,qBACAA,mBAAAlB,IAAAK,WAAA,KAAAD,aAAAC,KAAA,CAAA,CACA;AAAA,EACA;AACA;;;;;"}
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 { 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 this.$createElement(DtEmoji, {\n props: { code: item, size: this.size },\n });\n }\n return this.$createElement('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 VNode has no tag, it is a text node\n if (!VNode.tag && VNode.text) {\n return this.searchCodes(VNode.text);\n }\n\n const children = VNode.children ? VNode.children.map(VNodeChild => this.searchVNodes(VNodeChild)) : [];\n return this.$createElement(VNode.tag, VNode.data, children);\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 return this.replaceDtEmojis(replaceList, textContent);\n },\n },\n\n render (h) {\n const defaultSlotContent = 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":";;;;;;;AASA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,MAAA,OAAA,KAAA,mBAAA,EAAA,SAAA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,kBAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,MAAA,UAAA;AACA,SAAA,mBAAA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,gBAAA,aAAA,aAAA;AACA,UAAA,CAAA,YAAA;AAAA,eAAA;AAEA,YAAA,SAAA,IAAA,OAAA,IAAA,YAAA,KAAA,GAAA,CAAA,KAAA,GAAA;AACA,YAAA,QAAA,YAAA,MAAA,MAAA;AAEA,aAAA,MACA,OAAA,UAAA,KAAA,KAAA,MAAA,EAAA,EACA,IAAA,CAAA,SAAA;AACA,YAAA,YAAA,SAAA,IAAA,GAAA;AACA,iBAAA,KAAA,eAAA,SAAA;AAAA,YACA,OAAA,EAAA,MAAA,MAAA,MAAA,KAAA,KAAA;AAAA,UACA,CAAA;AAAA,QACA;AACA,eAAA,KAAA,eAAA,QAAA,EAAA,OAAA,6BAAA,GAAA,IAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,aAAA,OAAA;AAEA,UAAA,CAAA,MAAA,OAAA,MAAA,MAAA;AACA,eAAA,KAAA,YAAA,MAAA,IAAA;AAAA,MACA;AAEA,YAAA,WAAA,MAAA,WAAA,MAAA,SAAA,IAAA,gBAAA,KAAA,aAAA,UAAA,CAAA,IAAA,CAAA;AACA,aAAA,KAAA,eAAA,MAAA,KAAA,MAAA,MAAA,QAAA;AAAA,IACA;AAAA;AAAA,IAGA,gCAAA,OAAA;AAAA,IAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,YAAA,aAAA;AACA,YAAA,aAAA,eAAA,WAAA;AACA,YAAA,SAAA,WAAA,WAAA;AAEA,YAAA,cAAA,CAAA,GAAA,YAAA,GAAA,MAAA;AACA,aAAA,KAAA,gBAAA,aAAA,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA,GAAA;AACA,UAAA,qBAAA,KAAA,OAAA,WAAA,CAAA;AACA,WAAA;AAAA,MACA,KAAA;AAAA,MACA;AAAA,QACA,WAAA;AAAA,QACA,OAAA;AAAA,MACA;AAAA,MACA,KAAA,mBACA,qBACA,mBAAA,IAAA,WAAA,KAAA,aAAA,KAAA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const common_emoji = require("../chunks/index-NYFNZeHH.js");
3
+ const common_emoji = require("../chunks/index-anN_sx1F.js");
4
4
  const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-1aBeR4AK.js");
5
5
  const lib_skeleton = require("./skeleton.cjs");
6
- const icon_constants = require("../chunks/icon_constants-VEA0wI5C.js");
6
+ const icon_constants = require("../chunks/icon_constants-QYpmdE0R.js");
7
7
  require("emoji-toolkit/emoji_strategy.json");
8
8
  require("@dialpad/dialtone-icons/icons.json");
9
9
  const _sfc_main = {
@@ -127,46 +127,19 @@ const _sfc_main = {
127
127
  };
128
128
  var _sfc_render = function render() {
129
129
  var _vm = this, _c = _vm._self._c;
130
- return _c("span", {
131
- class: ["d-emoji d-icon", _vm.emojiSize]
132
- }, [_c("dt-skeleton", {
133
- directives: [{
134
- name: "show",
135
- rawName: "v-show",
136
- value: _vm.imgLoading && _vm.showSkeleton,
137
- expression: "imgLoading && showSkeleton"
138
- }],
139
- class: ["d-icon", _vm.emojiSize],
140
- attrs: {
141
- "offset": 0,
142
- "shape-option": {
143
- shape: "circle",
144
- size: "100%"
145
- }
146
- }
147
- }), _c("img", {
148
- directives: [{
149
- name: "show",
150
- rawName: "v-show",
151
- value: !_vm.imgLoading,
152
- expression: "!imgLoading"
153
- }],
154
- ref: "emojiImg",
155
- class: ["d-icon", _vm.emojiSize, _vm.imgClass],
156
- attrs: {
157
- "aria-label": _vm.emojiLabel,
158
- "alt": _vm.emojiAlt,
159
- "title": _vm.emojiLabel,
160
- "src": _vm.emojiSrc
161
- },
162
- on: {
163
- "load": _vm.imageLoaded,
164
- "error": _vm.imageErrored
165
- }
166
- })], 1);
130
+ return _c("span", { class: ["d-emoji d-icon", _vm.emojiSize] }, [_c("dt-skeleton", { directives: [{ name: "show", rawName: "v-show", value: _vm.imgLoading && _vm.showSkeleton, expression: "imgLoading && showSkeleton" }], class: ["d-icon", _vm.emojiSize], attrs: { "offset": 0, "shape-option": { shape: "circle", size: "100%" } } }), _c("img", { directives: [{ name: "show", rawName: "v-show", value: !_vm.imgLoading, expression: "!imgLoading" }], ref: "emojiImg", class: ["d-icon", _vm.emojiSize, _vm.imgClass], attrs: { "aria-label": _vm.emojiLabel, "alt": _vm.emojiAlt, "title": _vm.emojiLabel, "src": _vm.emojiSrc }, on: { "load": _vm.imageLoaded, "error": _vm.imageErrored } })], 1);
167
131
  };
168
132
  var _sfc_staticRenderFns = [];
169
- var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
133
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
134
+ _sfc_main,
135
+ _sfc_render,
136
+ _sfc_staticRenderFns,
137
+ false,
138
+ null,
139
+ null,
140
+ null,
141
+ null
142
+ );
170
143
  const DtEmoji = __component__.exports;
171
144
  exports.DtEmoji = DtEmoji;
172
145
  //# sourceMappingURL=emoji.cjs.map
@@ -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":["_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"],"mappings":";;;;;;;;AAuCA,MAAAA,YAAA;AAAA,EACAC,MAAA;AAAA,EAEAC,YAAA;AAAA,IACAC,YAAAA,aAAAA;AAAAA,EACA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAC,MAAA;AAAA,MACAC,MAAAC;AAAAA,MACAC,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOAC,MAAA;AAAA,MACAH,MAAAC;AAAAA,MACAG,SAAA;AAAA,MACAC,WAAAC,OAAAC,OAAAC,KAAAC,eAAAA,mBAAA,EAAAC,SAAAJ,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOAK,UAAA;AAAA,MACAX,MAAA,CAAAC,QAAAM,QAAAK,KAAA;AAAA,MACAR,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQAS,WAAA;AAAA,MACAb,MAAAC;AAAAA,MACAG,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAU,cAAA;AAAA,MACAd,MAAAe;AAAAA,MACAX,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAY,OAAA;AACA,WAAA;AAAA,MACAC,WAAA;AAAA,MACAC,YAAA;AAAA;EAEA;AAAA,EAEAC,UAAA;AAAA,IACAC,iBAAA;AACA,aAAA,CAAA,CAAA,KAAAH;AAAAA,IACA;AAAA,IAEAI,WAAA;;AACA,UAAA,CAAA,KAAAD,gBAAA;AAAA,eAAA;AAAA,MAAA;AAGA,WAAA,UAAAH,cAAA,mBAAAK,QAAA;AACA,eAAAC,aAAAA,sBAAA,KAAAN,UAAAO,MAAA,KAAAP,UAAAQ;AAAAA,MACA;AAEA,UAAA,CAAA,OAAA,KAAA,EAAAf,SAAA,KAAAP,IAAA,GAAA;AACA,eAAAuB,aAAA,qBAAA,KAAAT,UAAAO,MAAAG,aAAAA;AAAAA,MACA,OAAA;AACA,eAAAC,aAAA,qBAAA,KAAAX,UAAAO,MAAAK,aAAAA;AAAAA,MACA;AAAA,IACA;AAAA,IAEAC,WAAA;AACA,UAAA,CAAA,KAAAV,gBAAA;AAAA,eAAAW;AAAAA,MAAA;AACA,aAAA,KAAAd,UAAAe,iBAAAC,6BAAA,KAAAhB,UAAAe,cAAA,IAAA,KAAAf,UAAAtB;AAAAA,IACA;AAAA,IAEAuC,aAAA;AACA,UAAA,CAAA,KAAAd,gBAAA;AAAA,eAAA;AAAA,MAAA;AACA,aAAA,KAAAP,YAAA,KAAAA,YAAA,KAAAI,UAAAtB;AAAAA,IACA;AAAA,IAEAwC,YAAA;AACA,aAAA1B,eAAA,oBAAA,KAAAN,IAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAiC,OAAA;AAAA,IACArC,MAAA;AAAA,MACAsC,SAAA,WAAA;AACA,aAAAC,aAAA;AAAA,MACA;AAAA,MAEAC,WAAA;AAAA,IACA;AAAA,IAEAlB,UAAA;AAAA,MACAgB,SAAA,iBAAA;AACA,aAAAnB,aAAA;AAAA,MACA;AAAA,MAEAqB,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAC,SAAA;AAAA,IACAF,eAAA;AACA,WAAArB,YAAAwB,aAAAA,gBAAA,KAAA1C,IAAA;AAAA,IACA;AAAA,IAEA2C,cAAA;AACA,WAAAxB,aAAA;AAAA,IACA;AAAA,IAEAyB,eAAA;AACA,WAAAzB,aAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
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"],"mappings":";;;;;;;;AAuCA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,YAAAA,aAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,MAAA,OAAA,KAAAC,kCAAA,EAAA,SAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,UAAA;AAAA,MACA,MAAA,CAAA,QAAA,QAAA,KAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,iBAAA;AACA,aAAA,CAAA,CAAA,KAAA;AAAA,IACA;AAAA,IAEA,WAAA;;AACA,UAAA,CAAA,KAAA,gBAAA;AAAA,eAAA;AAAA,MAAA;AAGA,WAAA,UAAA,cAAA,mBAAA,QAAA;AACA,eAAAC,aAAAA,sBAAA,KAAA,UAAA,MAAA,KAAA,UAAA;AAAA,MACA;AAEA,UAAA,CAAA,OAAA,KAAA,EAAA,SAAA,KAAA,IAAA,GAAA;AACA,eAAAC,aAAA,qBAAA,KAAA,UAAA,MAAAC,aAAAA;AAAAA,MACA,OAAA;AACA,eAAAC,aAAA,qBAAA,KAAA,UAAA,MAAAC,aAAAA;AAAAA,MACA;AAAA,IACA;AAAA,IAEA,WAAA;AACA,UAAA,CAAA,KAAA,gBAAA;AAAA,eAAA;AAAA,MAAA;AACA,aAAA,KAAA,UAAA,iBAAAC,6BAAA,KAAA,UAAA,cAAA,IAAA,KAAA,UAAA;AAAA,IACA;AAAA,IAEA,aAAA;AACA,UAAA,CAAA,KAAA,gBAAA;AAAA,eAAA;AAAA,MAAA;AACA,aAAA,KAAA,YAAA,KAAA,YAAA,KAAA,UAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAAN,eAAA,oBAAA,KAAA,IAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,SAAA,WAAA;AACA,aAAA,aAAA;AAAA,MACA;AAAA,MAEA,WAAA;AAAA,IACA;AAAA,IAEA,UAAA;AAAA,MACA,SAAA,iBAAA;AACA,aAAA,aAAA;AAAA,MACA;AAAA,MAEA,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,eAAA;AACA,WAAA,YAAAO,aAAAA,gBAAA,KAAA,IAAA;AAAA,IACA;AAAA,IAEA,cAAA;AACA,WAAA,aAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,WAAA,aAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;"}
package/dist/lib/emoji.js CHANGED
@@ -1,7 +1,7 @@
1
- import { customEmojiAssetUrl, emojiImageUrlSmall, emojiFileExtensionSmall, emojiImageUrlLarge, emojiFileExtensionLarge, stringToUnicode, codeToEmojiData } from "../chunks/index-i65YVk-U.js";
1
+ import { customEmojiAssetUrl, emojiImageUrlSmall, emojiFileExtensionSmall, emojiImageUrlLarge, emojiFileExtensionLarge, stringToUnicode, codeToEmojiData } from "../chunks/index-ODod4Oj_.js";
2
2
  import { normalizeComponent } from "../chunks/_plugin-vue2_normalizer-sOSkiPF3.js";
3
3
  import { DtSkeleton } from "./skeleton.js";
4
- import { ICON_SIZE_MODIFIERS } from "../chunks/icon_constants-TdxqLsS2.js";
4
+ import { ICON_SIZE_MODIFIERS } from "../chunks/icon_constants-Dy4MEUJL.js";
5
5
  import "emoji-toolkit/emoji_strategy.json";
6
6
  import "@dialpad/dialtone-icons/icons.json";
7
7
  const _sfc_main = {
@@ -125,46 +125,19 @@ const _sfc_main = {
125
125
  };
126
126
  var _sfc_render = function render() {
127
127
  var _vm = this, _c = _vm._self._c;
128
- return _c("span", {
129
- class: ["d-emoji d-icon", _vm.emojiSize]
130
- }, [_c("dt-skeleton", {
131
- directives: [{
132
- name: "show",
133
- rawName: "v-show",
134
- value: _vm.imgLoading && _vm.showSkeleton,
135
- expression: "imgLoading && showSkeleton"
136
- }],
137
- class: ["d-icon", _vm.emojiSize],
138
- attrs: {
139
- "offset": 0,
140
- "shape-option": {
141
- shape: "circle",
142
- size: "100%"
143
- }
144
- }
145
- }), _c("img", {
146
- directives: [{
147
- name: "show",
148
- rawName: "v-show",
149
- value: !_vm.imgLoading,
150
- expression: "!imgLoading"
151
- }],
152
- ref: "emojiImg",
153
- class: ["d-icon", _vm.emojiSize, _vm.imgClass],
154
- attrs: {
155
- "aria-label": _vm.emojiLabel,
156
- "alt": _vm.emojiAlt,
157
- "title": _vm.emojiLabel,
158
- "src": _vm.emojiSrc
159
- },
160
- on: {
161
- "load": _vm.imageLoaded,
162
- "error": _vm.imageErrored
163
- }
164
- })], 1);
128
+ return _c("span", { class: ["d-emoji d-icon", _vm.emojiSize] }, [_c("dt-skeleton", { directives: [{ name: "show", rawName: "v-show", value: _vm.imgLoading && _vm.showSkeleton, expression: "imgLoading && showSkeleton" }], class: ["d-icon", _vm.emojiSize], attrs: { "offset": 0, "shape-option": { shape: "circle", size: "100%" } } }), _c("img", { directives: [{ name: "show", rawName: "v-show", value: !_vm.imgLoading, expression: "!imgLoading" }], ref: "emojiImg", class: ["d-icon", _vm.emojiSize, _vm.imgClass], attrs: { "aria-label": _vm.emojiLabel, "alt": _vm.emojiAlt, "title": _vm.emojiLabel, "src": _vm.emojiSrc }, on: { "load": _vm.imageLoaded, "error": _vm.imageErrored } })], 1);
165
129
  };
166
130
  var _sfc_staticRenderFns = [];
167
- var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
131
+ var __component__ = /* @__PURE__ */ normalizeComponent(
132
+ _sfc_main,
133
+ _sfc_render,
134
+ _sfc_staticRenderFns,
135
+ false,
136
+ null,
137
+ null,
138
+ null,
139
+ null
140
+ );
168
141
  const DtEmoji = __component__.exports;
169
142
  export {
170
143
  DtEmoji
@@ -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":["_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"],"mappings":";;;;;;AAuCA,MAAAA,YAAA;AAAA,EACAC,MAAA;AAAA,EAEAC,YAAA;AAAA,IACAC;AAAAA,EACA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAC,MAAA;AAAA,MACAC,MAAAC;AAAAA,MACAC,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOAC,MAAA;AAAA,MACAH,MAAAC;AAAAA,MACAG,SAAA;AAAA,MACAC,WAAAC,OAAAC,OAAAC,KAAAC,mBAAA,EAAAC,SAAAJ,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOAK,UAAA;AAAA,MACAX,MAAA,CAAAC,QAAAM,QAAAK,KAAA;AAAA,MACAR,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQAS,WAAA;AAAA,MACAb,MAAAC;AAAAA,MACAG,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAU,cAAA;AAAA,MACAd,MAAAe;AAAAA,MACAX,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAY,OAAA;AACA,WAAA;AAAA,MACAC,WAAA;AAAA,MACAC,YAAA;AAAA;EAEA;AAAA,EAEAC,UAAA;AAAA,IACAC,iBAAA;AACA,aAAA,CAAA,CAAA,KAAAH;AAAAA,IACA;AAAA,IAEAI,WAAA;;AACA,UAAA,CAAA,KAAAD,gBAAA;AAAA,eAAA;AAAA,MAAA;AAGA,WAAA,UAAAH,cAAA,mBAAAK,QAAA;AACA,eAAAC,sBAAA,KAAAN,UAAAO,MAAA,KAAAP,UAAAQ;AAAAA,MACA;AAEA,UAAA,CAAA,OAAA,KAAA,EAAAf,SAAA,KAAAP,IAAA,GAAA;AACA,eAAAuB,qBAAA,KAAAT,UAAAO,MAAAG;AAAAA,MACA,OAAA;AACA,eAAAC,qBAAA,KAAAX,UAAAO,MAAAK;AAAAA,MACA;AAAA,IACA;AAAA,IAEAC,WAAA;AACA,UAAA,CAAA,KAAAV,gBAAA;AAAA,eAAAW;AAAAA,MAAA;AACA,aAAA,KAAAd,UAAAe,iBAAAC,gBAAA,KAAAhB,UAAAe,cAAA,IAAA,KAAAf,UAAAtB;AAAAA,IACA;AAAA,IAEAuC,aAAA;AACA,UAAA,CAAA,KAAAd,gBAAA;AAAA,eAAA;AAAA,MAAA;AACA,aAAA,KAAAP,YAAA,KAAAA,YAAA,KAAAI,UAAAtB;AAAAA,IACA;AAAA,IAEAwC,YAAA;AACA,aAAA1B,oBAAA,KAAAN,IAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAiC,OAAA;AAAA,IACArC,MAAA;AAAA,MACAsC,SAAA,WAAA;AACA,aAAAC,aAAA;AAAA,MACA;AAAA,MAEAC,WAAA;AAAA,IACA;AAAA,IAEAlB,UAAA;AAAA,MACAgB,SAAA,iBAAA;AACA,aAAAnB,aAAA;AAAA,MACA;AAAA,MAEAqB,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAC,SAAA;AAAA,IACAF,eAAA;AACA,WAAArB,YAAAwB,gBAAA,KAAA1C,IAAA;AAAA,IACA;AAAA,IAEA2C,cAAA;AACA,WAAAxB,aAAA;AAAA,IACA;AAAA,IAEAyB,eAAA;AACA,WAAAzB,aAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
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":[],"mappings":";;;;;;AAuCA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,MAAA,OAAA,KAAA,mBAAA,EAAA,SAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,UAAA;AAAA,MACA,MAAA,CAAA,QAAA,QAAA,KAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,iBAAA;AACA,aAAA,CAAA,CAAA,KAAA;AAAA,IACA;AAAA,IAEA,WAAA;;AACA,UAAA,CAAA,KAAA,gBAAA;AAAA,eAAA;AAAA,MAAA;AAGA,WAAA,UAAA,cAAA,mBAAA,QAAA;AACA,eAAA,sBAAA,KAAA,UAAA,MAAA,KAAA,UAAA;AAAA,MACA;AAEA,UAAA,CAAA,OAAA,KAAA,EAAA,SAAA,KAAA,IAAA,GAAA;AACA,eAAA,qBAAA,KAAA,UAAA,MAAA;AAAA,MACA,OAAA;AACA,eAAA,qBAAA,KAAA,UAAA,MAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,WAAA;AACA,UAAA,CAAA,KAAA,gBAAA;AAAA,eAAA;AAAA,MAAA;AACA,aAAA,KAAA,UAAA,iBAAA,gBAAA,KAAA,UAAA,cAAA,IAAA,KAAA,UAAA;AAAA,IACA;AAAA,IAEA,aAAA;AACA,UAAA,CAAA,KAAA,gBAAA;AAAA,eAAA;AAAA,MAAA;AACA,aAAA,KAAA,YAAA,KAAA,YAAA,KAAA,UAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA,oBAAA,KAAA,IAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,SAAA,WAAA;AACA,aAAA,aAAA;AAAA,MACA;AAAA,MAEA,WAAA;AAAA,IACA;AAAA,IAEA,UAAA;AAAA,MACA,SAAA,iBAAA;AACA,aAAA,aAAA;AAAA,MACA;AAAA,MAEA,WAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,eAAA;AACA,WAAA,YAAA,gBAAA,KAAA,IAAA;AAAA,IACA;AAAA,IAEA,cAAA;AACA,WAAA,aAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,WAAA,aAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;"}
@@ -4,7 +4,7 @@ const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-1aBeR4
4
4
  const lib_illustration = require("./illustration.cjs");
5
5
  const lib_icon = require("./icon.cjs");
6
6
  const lib_stack = require("./stack.cjs");
7
- const icon_constants = require("../chunks/icon_constants-VEA0wI5C.js");
7
+ const icon_constants = require("../chunks/icon_constants-QYpmdE0R.js");
8
8
  require("@dialpad/dialtone-icons/vue2");
9
9
  require("@dialpad/dialtone-icons/illustrations.json");
10
10
  require("@dialpad/dialtone-icons/icons.json");
@@ -150,34 +150,19 @@ const _sfc_main = {
150
150
  };
151
151
  var _sfc_render = function render() {
152
152
  var _vm = this, _c = _vm._self._c;
153
- return _c("dt-stack", {
154
- class: _vm.emptyStateClasses
155
- }, [_vm.showIllustration ? [_vm.showIcon ? _c("span", {
156
- staticClass: "d-empty-state__icon"
157
- }, [_c("dt-icon", {
158
- attrs: {
159
- "name": _vm.iconName,
160
- "size": "800"
161
- }
162
- })], 1) : _vm._e(), _vm.showIllustrationComponent ? _c("span", {
163
- staticClass: "d-empty-state__illustration"
164
- }, [_c("dt-illustration", {
165
- attrs: {
166
- "name": _vm.illustrationName
167
- }
168
- })], 1) : _vm._e()] : _vm._e(), _c("dt-stack", {
169
- class: ["d-empty-state__content", _vm.contentClass],
170
- attrs: {
171
- "gap": "450"
172
- }
173
- }, [_c("div", {
174
- class: ["d-empty-state__header-text", _vm.headlineClass]
175
- }, [_vm._v(" " + _vm._s(_vm.headerText) + " ")]), _vm.bodyText ? _c("p", {
176
- class: ["d-empty-state__body-text", _vm.bodyClass]
177
- }, [_vm._v(" " + _vm._s(_vm.bodyText) + " ")]) : _vm._e()]), _vm._t("body")], 2);
153
+ return _c("dt-stack", { class: _vm.emptyStateClasses }, [_vm.showIllustration ? [_vm.showIcon ? _c("span", { staticClass: "d-empty-state__icon" }, [_c("dt-icon", { attrs: { "name": _vm.iconName, "size": "800" } })], 1) : _vm._e(), _vm.showIllustrationComponent ? _c("span", { staticClass: "d-empty-state__illustration" }, [_c("dt-illustration", { attrs: { "name": _vm.illustrationName } })], 1) : _vm._e()] : _vm._e(), _c("dt-stack", { class: ["d-empty-state__content", _vm.contentClass], attrs: { "gap": "450" } }, [_c("div", { class: ["d-empty-state__header-text", _vm.headlineClass] }, [_vm._v(" " + _vm._s(_vm.headerText) + " ")]), _vm.bodyText ? _c("p", { class: ["d-empty-state__body-text", _vm.bodyClass] }, [_vm._v(" " + _vm._s(_vm.bodyText) + " ")]) : _vm._e()]), _vm._t("body")], 2);
178
154
  };
179
155
  var _sfc_staticRenderFns = [];
180
- var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
156
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
157
+ _sfc_main,
158
+ _sfc_render,
159
+ _sfc_staticRenderFns,
160
+ false,
161
+ null,
162
+ null,
163
+ null,
164
+ null
165
+ );
181
166
  const empty_state = __component__.exports;
182
167
  exports.DtEmptyState = empty_state;
183
168
  exports.EMPTY_STATE_SIZE_MODIFIERS = EMPTY_STATE_SIZE_MODIFIERS;
@@ -1 +1 @@
1
- {"version":3,"file":"empty-state.cjs","sources":["../../components/empty_state/empty_state_constants.js","../../components/empty_state/empty_state.vue"],"sourcesContent":["export const EMPTY_STATE_SIZE_MODIFIERS = {\n sm: 'd-empty-state--size-sm',\n md: 'd-empty-state--size-md',\n lg: 'd-empty-state--size-lg',\n};\n\nexport default {\n EMPTY_STATE_SIZE_MODIFIERS,\n};\n","<template>\n <dt-stack\n :class=\"emptyStateClasses\"\n >\n <template v-if=\"showIllustration\">\n <span\n v-if=\"showIcon\"\n class=\"d-empty-state__icon\"\n >\n <dt-icon\n :name=\"iconName\"\n size=\"800\"\n />\n </span>\n\n <span\n v-if=\"showIllustrationComponent\"\n class=\"d-empty-state__illustration\"\n >\n <dt-illustration\n :name=\"illustrationName\"\n />\n </span>\n </template>\n\n <dt-stack\n gap=\"450\"\n :class=\"['d-empty-state__content', contentClass]\"\n >\n <div :class=\"['d-empty-state__header-text', headlineClass]\">\n {{ headerText }}\n </div>\n\n <p\n v-if=\"bodyText\"\n :class=\"['d-empty-state__body-text', bodyClass]\"\n >\n {{ bodyText }}\n </p>\n </dt-stack>\n\n <slot name=\"body\" />\n </dt-stack>\n</template>\n\n<script>\nimport { EMPTY_STATE_SIZE_MODIFIERS } from './empty_state_constants.js';\nimport { DtIllustration, ILLUSTRATION_NAMES } from '@/components/illustration';\nimport { DtIcon, ICON_NAMES } from '@/components/icon';\nimport { DtStack } from '@/components/stack';\n\nexport default {\n name: 'DtEmptyState',\n\n components: {\n DtIllustration,\n DtIcon,\n DtStack,\n },\n\n props: {\n /**\n * The empty state size.\n * @values 'sm', 'md', 'lg'\n */\n size: {\n type: String,\n default: 'lg',\n validator: (s) => Object.keys(EMPTY_STATE_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * The illustration name in kebab-case\n * This only displays when size is 'lg' or 'md'\n * This has priority over icon.\n * @type {String}\n */\n illustrationName: {\n type: String,\n default: null,\n validator: (name) => ILLUSTRATION_NAMES.includes(name),\n },\n\n /**\n * The icon name in kebab-case\n * This will be shown in 'lg' and 'md' size only if illustrationName prop is not provided and\n * Will always be shown in 'sm' size.\n * @type {String}\n */\n iconName: {\n type: String,\n default: null,\n validator: (name) => ICON_NAMES.includes(name),\n },\n\n /**\n * Header text\n * @type {String}\n */\n headerText: {\n type: String,\n required: true,\n },\n\n /**\n * Body text\n * @type {String}\n */\n bodyText: {\n type: String,\n default: null,\n },\n\n /**\n * Whether to show the illustration\n * @type {Boolean}\n */\n showIllustration: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n /**\n * Illustration will always be shown in lg and md size\n * Illustration will not be shown in sm size\n */\n showIllustrationComponent () {\n return this.illustrationName && this.notSmSize;\n },\n\n /**\n * Icon will be shown in lg and md size only if illustration is not provided\n * Icon will always be shown in sm size\n */\n showIcon () {\n if (!this.iconName) {\n return false;\n }\n\n return !(this.illustrationName && this.notSmSize);\n },\n\n notSmSize () {\n return this.size !== 'sm';\n },\n\n sizeClass () {\n return EMPTY_STATE_SIZE_MODIFIERS[this.size];\n },\n\n emptyStateClasses () {\n return ['d-empty-state', this.sizeClass];\n },\n\n contentClass () {\n switch (this.size) {\n case 'sm':\n return 'd-empty-state__content--sm';\n case 'md':\n return 'd-empty-state__content--md';\n case 'lg':\n return 'd-empty-state__content--lg';\n default:\n return 'd-empty-state__content--lg';\n }\n },\n\n headlineClass () {\n switch (this.size) {\n case 'sm':\n return 'd-headline--md';\n case 'md':\n return 'd-headline--xl';\n case 'lg':\n return 'd-headline--xxl';\n default:\n return 'd-headline--xxl';\n }\n },\n\n bodyClass () {\n switch (this.size) {\n case 'sm':\n return 'd-body--sm';\n case 'md':\n return 'd-body--sm';\n case 'lg':\n return 'd-body--md';\n default:\n return 'd-body--md';\n }\n },\n },\n\n mounted () {\n if (!this.bodyText && !this.$slots.body) {\n console.warn('Dialtone Empty State component: You should provide either bodyText or content on body slot.');\n }\n },\n};\n</script>\n"],"names":["EMPTY_STATE_SIZE_MODIFIERS","sm","md","lg","_sfc_main","name","components","DtIllustration","DtIcon","DtStack","props","size","type","String","default","validator","s","Object","keys","includes","illustrationName","ILLUSTRATION_NAMES","iconName","ICON_NAMES","headerText","required","bodyText","showIllustration","Boolean","computed","showIllustrationComponent","notSmSize","showIcon","sizeClass","emptyStateClasses","contentClass","headlineClass","bodyClass","mounted","$slots","body","console","warn"],"mappings":";;;;;;;;;;;AAAO,MAAMA,6BAA6B;AAAA,EACxCC,IAAI;AAAA,EACJC,IAAI;AAAA,EACJC,IAAI;AACN;AC+CA,MAAAC,YAAA;AAAA,EACAC,MAAA;AAAA,EAEAC,YAAA;AAAA,oBACAC,iBAAA;AAAA,YACAC,SAAA;AAAA,IACAC,SAAAA,UAAAA;AAAAA,EACA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKAC,MAAA;AAAA,MACAC,MAAAC;AAAAA,MACAC,SAAA;AAAA,MACAC,WAAAC,OAAAC,OAAAC,KAAAlB,0BAAA,EAAAmB,SAAAH,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQAI,kBAAA;AAAA,MACAR,MAAAC;AAAAA,MACAC,SAAA;AAAA,MACAC,WAAAV,UAAAgB,oCAAAF,SAAAd,IAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQAiB,UAAA;AAAA,MACAV,MAAAC;AAAAA,MACAC,SAAA;AAAA,MACAC,WAAAV,UAAAkB,0BAAAJ,SAAAd,IAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAmB,YAAA;AAAA,MACAZ,MAAAC;AAAAA,MACAY,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAC,UAAA;AAAA,MACAd,MAAAC;AAAAA,MACAC,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAa,kBAAA;AAAA,MACAf,MAAAgB;AAAAA,MACAd,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAe,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKAC,4BAAA;AACA,aAAA,KAAAV,oBAAA,KAAAW;AAAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMAC,WAAA;AACA,UAAA,CAAA,KAAAV,UAAA;AACA,eAAA;AAAA,MACA;AAEA,aAAA,EAAA,KAAAF,oBAAA,KAAAW;AAAAA,IACA;AAAA,IAEAA,YAAA;AACA,aAAA,KAAApB,SAAA;AAAA,IACA;AAAA,IAEAsB,YAAA;AACA,aAAAjC,2BAAA,KAAAW,IAAA;AAAA,IACA;AAAA,IAEAuB,oBAAA;AACA,aAAA,CAAA,iBAAA,KAAAD,SAAA;AAAA,IACA;AAAA,IAEAE,eAAA;AACA,cAAA,KAAAxB,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEAyB,gBAAA;AACA,cAAA,KAAAzB,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA0B,YAAA;AACA,cAAA,KAAA1B,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA2B,UAAA;AACA,QAAA,CAAA,KAAAZ,YAAA,CAAA,KAAAa,OAAAC,MAAA;AACAC,cAAAC,KAAA,6FAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"empty-state.cjs","sources":["../../components/empty_state/empty_state_constants.js","../../components/empty_state/empty_state.vue"],"sourcesContent":["export const EMPTY_STATE_SIZE_MODIFIERS = {\n sm: 'd-empty-state--size-sm',\n md: 'd-empty-state--size-md',\n lg: 'd-empty-state--size-lg',\n};\n\nexport default {\n EMPTY_STATE_SIZE_MODIFIERS,\n};\n","<template>\n <dt-stack\n :class=\"emptyStateClasses\"\n >\n <template v-if=\"showIllustration\">\n <span\n v-if=\"showIcon\"\n class=\"d-empty-state__icon\"\n >\n <dt-icon\n :name=\"iconName\"\n size=\"800\"\n />\n </span>\n\n <span\n v-if=\"showIllustrationComponent\"\n class=\"d-empty-state__illustration\"\n >\n <dt-illustration\n :name=\"illustrationName\"\n />\n </span>\n </template>\n\n <dt-stack\n gap=\"450\"\n :class=\"['d-empty-state__content', contentClass]\"\n >\n <div :class=\"['d-empty-state__header-text', headlineClass]\">\n {{ headerText }}\n </div>\n\n <p\n v-if=\"bodyText\"\n :class=\"['d-empty-state__body-text', bodyClass]\"\n >\n {{ bodyText }}\n </p>\n </dt-stack>\n\n <slot name=\"body\" />\n </dt-stack>\n</template>\n\n<script>\nimport { EMPTY_STATE_SIZE_MODIFIERS } from './empty_state_constants.js';\nimport { DtIllustration, ILLUSTRATION_NAMES } from '@/components/illustration';\nimport { DtIcon, ICON_NAMES } from '@/components/icon';\nimport { DtStack } from '@/components/stack';\n\nexport default {\n name: 'DtEmptyState',\n\n components: {\n DtIllustration,\n DtIcon,\n DtStack,\n },\n\n props: {\n /**\n * The empty state size.\n * @values 'sm', 'md', 'lg'\n */\n size: {\n type: String,\n default: 'lg',\n validator: (s) => Object.keys(EMPTY_STATE_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * The illustration name in kebab-case\n * This only displays when size is 'lg' or 'md'\n * This has priority over icon.\n * @type {String}\n */\n illustrationName: {\n type: String,\n default: null,\n validator: (name) => ILLUSTRATION_NAMES.includes(name),\n },\n\n /**\n * The icon name in kebab-case\n * This will be shown in 'lg' and 'md' size only if illustrationName prop is not provided and\n * Will always be shown in 'sm' size.\n * @type {String}\n */\n iconName: {\n type: String,\n default: null,\n validator: (name) => ICON_NAMES.includes(name),\n },\n\n /**\n * Header text\n * @type {String}\n */\n headerText: {\n type: String,\n required: true,\n },\n\n /**\n * Body text\n * @type {String}\n */\n bodyText: {\n type: String,\n default: null,\n },\n\n /**\n * Whether to show the illustration\n * @type {Boolean}\n */\n showIllustration: {\n type: Boolean,\n default: true,\n },\n },\n\n computed: {\n /**\n * Illustration will always be shown in lg and md size\n * Illustration will not be shown in sm size\n */\n showIllustrationComponent () {\n return this.illustrationName && this.notSmSize;\n },\n\n /**\n * Icon will be shown in lg and md size only if illustration is not provided\n * Icon will always be shown in sm size\n */\n showIcon () {\n if (!this.iconName) {\n return false;\n }\n\n return !(this.illustrationName && this.notSmSize);\n },\n\n notSmSize () {\n return this.size !== 'sm';\n },\n\n sizeClass () {\n return EMPTY_STATE_SIZE_MODIFIERS[this.size];\n },\n\n emptyStateClasses () {\n return ['d-empty-state', this.sizeClass];\n },\n\n contentClass () {\n switch (this.size) {\n case 'sm':\n return 'd-empty-state__content--sm';\n case 'md':\n return 'd-empty-state__content--md';\n case 'lg':\n return 'd-empty-state__content--lg';\n default:\n return 'd-empty-state__content--lg';\n }\n },\n\n headlineClass () {\n switch (this.size) {\n case 'sm':\n return 'd-headline--md';\n case 'md':\n return 'd-headline--xl';\n case 'lg':\n return 'd-headline--xxl';\n default:\n return 'd-headline--xxl';\n }\n },\n\n bodyClass () {\n switch (this.size) {\n case 'sm':\n return 'd-body--sm';\n case 'md':\n return 'd-body--sm';\n case 'lg':\n return 'd-body--md';\n default:\n return 'd-body--md';\n }\n },\n },\n\n mounted () {\n if (!this.bodyText && !this.$slots.body) {\n console.warn('Dialtone Empty State component: You should provide either bodyText or content on body slot.');\n }\n },\n};\n</script>\n"],"names":["DtIllustration","DtIcon","DtStack","ILLUSTRATION_NAMES","ICON_NAMES"],"mappings":";;;;;;;;;;;AAAY,MAAC,6BAA6B;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AC+CA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,gBAAAA,iBAAA;AAAA,IACA,QAAAC,SAAA;AAAA,IACA,SAAAC,UAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,MAAA,OAAA,KAAA,0BAAA,EAAA,SAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,SAAAC,oCAAA,SAAA,IAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,SAAAC,0BAAA,SAAA,IAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,4BAAA;AACA,aAAA,KAAA,oBAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AACA,UAAA,CAAA,KAAA,UAAA;AACA,eAAA;AAAA,MACA;AAEA,aAAA,EAAA,KAAA,oBAAA,KAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA,KAAA,SAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA,2BAAA,KAAA,IAAA;AAAA,IACA;AAAA,IAEA,oBAAA;AACA,aAAA,CAAA,iBAAA,KAAA,SAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,cAAA,KAAA,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,gBAAA;AACA,cAAA,KAAA,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,cAAA,KAAA,MAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA,KAAA;AACA,iBAAA;AAAA,QACA;AACA,iBAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AACA,QAAA,CAAA,KAAA,YAAA,CAAA,KAAA,OAAA,MAAA;AACA,cAAA,KAAA,6FAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@ import { normalizeComponent } from "../chunks/_plugin-vue2_normalizer-sOSkiPF3.j
2
2
  import { DtIllustration, ILLUSTRATION_NAMES } from "./illustration.js";
3
3
  import { DtIcon } from "./icon.js";
4
4
  import { DtStack } from "./stack.js";
5
- import { ICON_NAMES } from "../chunks/icon_constants-TdxqLsS2.js";
5
+ import { ICON_NAMES } from "../chunks/icon_constants-Dy4MEUJL.js";
6
6
  import "@dialpad/dialtone-icons/vue2";
7
7
  import "@dialpad/dialtone-icons/illustrations.json";
8
8
  import "@dialpad/dialtone-icons/icons.json";
@@ -148,34 +148,19 @@ const _sfc_main = {
148
148
  };
149
149
  var _sfc_render = function render() {
150
150
  var _vm = this, _c = _vm._self._c;
151
- return _c("dt-stack", {
152
- class: _vm.emptyStateClasses
153
- }, [_vm.showIllustration ? [_vm.showIcon ? _c("span", {
154
- staticClass: "d-empty-state__icon"
155
- }, [_c("dt-icon", {
156
- attrs: {
157
- "name": _vm.iconName,
158
- "size": "800"
159
- }
160
- })], 1) : _vm._e(), _vm.showIllustrationComponent ? _c("span", {
161
- staticClass: "d-empty-state__illustration"
162
- }, [_c("dt-illustration", {
163
- attrs: {
164
- "name": _vm.illustrationName
165
- }
166
- })], 1) : _vm._e()] : _vm._e(), _c("dt-stack", {
167
- class: ["d-empty-state__content", _vm.contentClass],
168
- attrs: {
169
- "gap": "450"
170
- }
171
- }, [_c("div", {
172
- class: ["d-empty-state__header-text", _vm.headlineClass]
173
- }, [_vm._v(" " + _vm._s(_vm.headerText) + " ")]), _vm.bodyText ? _c("p", {
174
- class: ["d-empty-state__body-text", _vm.bodyClass]
175
- }, [_vm._v(" " + _vm._s(_vm.bodyText) + " ")]) : _vm._e()]), _vm._t("body")], 2);
151
+ return _c("dt-stack", { class: _vm.emptyStateClasses }, [_vm.showIllustration ? [_vm.showIcon ? _c("span", { staticClass: "d-empty-state__icon" }, [_c("dt-icon", { attrs: { "name": _vm.iconName, "size": "800" } })], 1) : _vm._e(), _vm.showIllustrationComponent ? _c("span", { staticClass: "d-empty-state__illustration" }, [_c("dt-illustration", { attrs: { "name": _vm.illustrationName } })], 1) : _vm._e()] : _vm._e(), _c("dt-stack", { class: ["d-empty-state__content", _vm.contentClass], attrs: { "gap": "450" } }, [_c("div", { class: ["d-empty-state__header-text", _vm.headlineClass] }, [_vm._v(" " + _vm._s(_vm.headerText) + " ")]), _vm.bodyText ? _c("p", { class: ["d-empty-state__body-text", _vm.bodyClass] }, [_vm._v(" " + _vm._s(_vm.bodyText) + " ")]) : _vm._e()]), _vm._t("body")], 2);
176
152
  };
177
153
  var _sfc_staticRenderFns = [];
178
- var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
154
+ var __component__ = /* @__PURE__ */ normalizeComponent(
155
+ _sfc_main,
156
+ _sfc_render,
157
+ _sfc_staticRenderFns,
158
+ false,
159
+ null,
160
+ null,
161
+ null,
162
+ null
163
+ );
179
164
  const empty_state = __component__.exports;
180
165
  export {
181
166
  empty_state as DtEmptyState,