@dialpad/dialtone-vue 2.152.1 → 2.153.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 (394) hide show
  1. package/dist/chunks/{dropdown-6UoczdUY.js → dropdown-YdCyJ5Dq.js} +77 -41
  2. package/dist/chunks/{dropdown-6UoczdUY.js.map → dropdown-YdCyJ5Dq.js.map} +1 -1
  3. package/dist/chunks/{dropdown-pHxnQPzT.js → dropdown-mjrYu_mK.js} +77 -41
  4. package/dist/chunks/{dropdown-pHxnQPzT.js.map → dropdown-mjrYu_mK.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-Dy4MEUJL.js → icon_constants-TdxqLsS2.js} +3 -2
  8. package/dist/chunks/icon_constants-TdxqLsS2.js.map +1 -0
  9. package/dist/chunks/{icon_constants-QYpmdE0R.js → icon_constants-VEA0wI5C.js} +3 -2
  10. package/dist/chunks/icon_constants-VEA0wI5C.js.map +1 -0
  11. package/dist/chunks/{index-gj1jEXP4.js → index-DyqUqjvI.js} +122 -87
  12. package/dist/chunks/{index-gj1jEXP4.js.map → index-DyqUqjvI.js.map} +1 -1
  13. package/dist/chunks/{index-anN_sx1F.js → index-NYFNZeHH.js} +5 -13
  14. package/dist/chunks/{index-anN_sx1F.js.map → index-NYFNZeHH.js.map} +1 -1
  15. package/dist/chunks/{index-ODod4Oj_.js → index-i65YVk-U.js} +5 -13
  16. package/dist/chunks/{index-ODod4Oj_.js.map → index-i65YVk-U.js.map} +1 -1
  17. package/dist/chunks/{index-eJ-WWRdf.js → index-mBWay1Qb.js} +122 -87
  18. package/dist/chunks/{index-eJ-WWRdf.js.map → index-mBWay1Qb.js.map} +1 -1
  19. package/dist/chunks/{input-Axw-wFj2.js → input-Hqw33WBe.js} +3 -9
  20. package/dist/chunks/{input-Axw-wFj2.js.map → input-Hqw33WBe.js.map} +1 -1
  21. package/dist/chunks/{input-6kbd8Pju.js → input-PhJeBN6r.js} +3 -9
  22. package/dist/chunks/{input-6kbd8Pju.js.map → input-PhJeBN6r.js.map} +1 -1
  23. package/dist/chunks/{input_group-qVZaS5Bb.js → input_group-ZI7aVGEp.js} +4 -2
  24. package/dist/chunks/{input_group-m3cWYUfI.js.map → input_group-ZI7aVGEp.js.map} +1 -1
  25. package/dist/chunks/{input_group-m3cWYUfI.js → input_group-pE6ec9R3.js} +4 -2
  26. package/dist/chunks/{input_group-qVZaS5Bb.js.map → input_group-pE6ec9R3.js.map} +1 -1
  27. package/dist/chunks/{keyboard_list_navigation-ScXhrxya.js → keyboard_list_navigation-YIqTuw1W.js} +6 -5
  28. package/dist/chunks/{keyboard_list_navigation-fJnl_Iox.js.map → keyboard_list_navigation-YIqTuw1W.js.map} +1 -1
  29. package/dist/chunks/{keyboard_list_navigation-fJnl_Iox.js → keyboard_list_navigation-x3D6RcC7.js} +6 -5
  30. package/dist/chunks/{keyboard_list_navigation-ScXhrxya.js.map → keyboard_list_navigation-x3D6RcC7.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-XOr4kiNZ.js → modal-8X6poIZW.js} +4 -2
  36. package/dist/chunks/{modal-XOr4kiNZ.js.map → modal-8X6poIZW.js.map} +1 -1
  37. package/dist/chunks/{modal-VgxXAQFP.js → modal-OaWxzqNt.js} +4 -2
  38. package/dist/chunks/{modal-VgxXAQFP.js.map → modal-OaWxzqNt.js.map} +1 -1
  39. package/dist/chunks/{notice_action-IRUoLX2d.js → notice_action-qQr3K2TC.js} +71 -46
  40. package/dist/chunks/{notice_action-IRUoLX2d.js.map → notice_action-qQr3K2TC.js.map} +1 -1
  41. package/dist/chunks/{notice_action-P6uDyE9x.js → notice_action-tEvvMg7Q.js} +71 -46
  42. package/dist/chunks/{notice_action-P6uDyE9x.js.map → notice_action-tEvvMg7Q.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-WsOUIY-m.js → popover_constants-6YkPPbnk.js} +26 -47
  46. package/dist/chunks/{popover_constants-WsOUIY-m.js.map → popover_constants-6YkPPbnk.js.map} +1 -1
  47. package/dist/chunks/{popover_constants-XnGWXaxX.js → popover_constants-h9MD6WUt.js} +26 -47
  48. package/dist/chunks/{popover_constants-XnGWXaxX.js.map → popover_constants-h9MD6WUt.js.map} +1 -1
  49. package/dist/chunks/{sr_only_close_button-ZaGdAHz7.js → sr_only_close_button-2Q9Ny1Nc.js} +24 -18
  50. package/dist/chunks/{sr_only_close_button-ZaGdAHz7.js.map → sr_only_close_button-2Q9Ny1Nc.js.map} +1 -1
  51. package/dist/chunks/{sr_only_close_button-81bHIpPu.js → sr_only_close_button-IjMVfBDE.js} +24 -18
  52. package/dist/chunks/{sr_only_close_button-81bHIpPu.js.map → sr_only_close_button-IjMVfBDE.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-FcsV5VmK.js → tab-79yMX6m6.js} +86 -68
  56. package/dist/chunks/{tab-V4cb44Ry.js.map → tab-79yMX6m6.js.map} +1 -1
  57. package/dist/chunks/{tab-V4cb44Ry.js → tab-muPOS7JE.js} +86 -68
  58. package/dist/chunks/{tab-FcsV5VmK.js.map → tab-muPOS7JE.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 +3 -1
  62. package/dist/common/dates.cjs.map +1 -1
  63. package/dist/common/dates.js +3 -1
  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 +8 -44
  70. package/dist/common/utils.cjs.map +1 -1
  71. package/dist/common/utils.js +8 -44
  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 +172 -48
  79. package/dist/lib/attachment-carousel.cjs.map +1 -1
  80. package/dist/lib/attachment-carousel.js +172 -48
  81. package/dist/lib/attachment-carousel.js.map +1 -1
  82. package/dist/lib/avatar.cjs +75 -58
  83. package/dist/lib/avatar.cjs.map +1 -1
  84. package/dist/lib/avatar.js +75 -58
  85. package/dist/lib/avatar.js.map +1 -1
  86. package/dist/lib/badge.cjs +31 -20
  87. package/dist/lib/badge.cjs.map +1 -1
  88. package/dist/lib/badge.js +31 -20
  89. package/dist/lib/badge.js.map +1 -1
  90. package/dist/lib/banner.cjs +53 -29
  91. package/dist/lib/banner.cjs.map +1 -1
  92. package/dist/lib/banner.js +53 -29
  93. package/dist/lib/banner.js.map +1 -1
  94. package/dist/lib/breadcrumbs.cjs +36 -30
  95. package/dist/lib/breadcrumbs.cjs.map +1 -1
  96. package/dist/lib/breadcrumbs.js +36 -30
  97. package/dist/lib/breadcrumbs.js.map +1 -1
  98. package/dist/lib/button-group.cjs +7 -14
  99. package/dist/lib/button-group.cjs.map +1 -1
  100. package/dist/lib/button-group.js +7 -14
  101. package/dist/lib/button-group.js.map +1 -1
  102. package/dist/lib/button.cjs +55 -62
  103. package/dist/lib/button.cjs.map +1 -1
  104. package/dist/lib/button.js +55 -62
  105. package/dist/lib/button.js.map +1 -1
  106. package/dist/lib/callbar-button-with-popover.cjs +91 -23
  107. package/dist/lib/callbar-button-with-popover.cjs.map +1 -1
  108. package/dist/lib/callbar-button-with-popover.js +91 -23
  109. package/dist/lib/callbar-button-with-popover.js.map +1 -1
  110. package/dist/lib/callbar-button.cjs +49 -33
  111. package/dist/lib/callbar-button.cjs.map +1 -1
  112. package/dist/lib/callbar-button.js +49 -33
  113. package/dist/lib/callbar-button.js.map +1 -1
  114. package/dist/lib/callbox.cjs +78 -15
  115. package/dist/lib/callbox.cjs.map +1 -1
  116. package/dist/lib/callbox.js +78 -15
  117. package/dist/lib/callbox.js.map +1 -1
  118. package/dist/lib/card.cjs +16 -23
  119. package/dist/lib/card.cjs.map +1 -1
  120. package/dist/lib/card.js +16 -23
  121. package/dist/lib/card.js.map +1 -1
  122. package/dist/lib/checkbox-group.cjs +3 -15
  123. package/dist/lib/checkbox-group.cjs.map +1 -1
  124. package/dist/lib/checkbox-group.js +3 -15
  125. package/dist/lib/checkbox-group.js.map +1 -1
  126. package/dist/lib/checkbox.cjs +52 -16
  127. package/dist/lib/checkbox.cjs.map +1 -1
  128. package/dist/lib/checkbox.js +52 -16
  129. package/dist/lib/checkbox.js.map +1 -1
  130. package/dist/lib/chip.cjs +58 -26
  131. package/dist/lib/chip.cjs.map +1 -1
  132. package/dist/lib/chip.js +58 -26
  133. package/dist/lib/chip.js.map +1 -1
  134. package/dist/lib/codeblock.cjs +4 -11
  135. package/dist/lib/codeblock.cjs.map +1 -1
  136. package/dist/lib/codeblock.js +4 -11
  137. package/dist/lib/codeblock.js.map +1 -1
  138. package/dist/lib/collapsible.cjs +91 -34
  139. package/dist/lib/collapsible.cjs.map +1 -1
  140. package/dist/lib/collapsible.js +91 -34
  141. package/dist/lib/collapsible.js.map +1 -1
  142. package/dist/lib/combobox-multi-select.cjs +131 -38
  143. package/dist/lib/combobox-multi-select.cjs.map +1 -1
  144. package/dist/lib/combobox-multi-select.js +131 -38
  145. package/dist/lib/combobox-multi-select.js.map +1 -1
  146. package/dist/lib/combobox-with-popover.cjs +130 -39
  147. package/dist/lib/combobox-with-popover.cjs.map +1 -1
  148. package/dist/lib/combobox-with-popover.js +130 -39
  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 +86 -29
  153. package/dist/lib/contact-centers-row.cjs.map +1 -1
  154. package/dist/lib/contact-centers-row.js +86 -29
  155. package/dist/lib/contact-centers-row.js.map +1 -1
  156. package/dist/lib/contact-info.cjs +95 -24
  157. package/dist/lib/contact-info.cjs.map +1 -1
  158. package/dist/lib/contact-info.js +95 -24
  159. package/dist/lib/contact-info.js.map +1 -1
  160. package/dist/lib/contact-row.cjs +61 -18
  161. package/dist/lib/contact-row.cjs.map +1 -1
  162. package/dist/lib/contact-row.js +61 -18
  163. package/dist/lib/contact-row.js.map +1 -1
  164. package/dist/lib/datepicker.cjs +361 -102
  165. package/dist/lib/datepicker.cjs.map +1 -1
  166. package/dist/lib/datepicker.js +361 -102
  167. package/dist/lib/datepicker.js.map +1 -1
  168. package/dist/lib/description-list.cjs +11 -12
  169. package/dist/lib/description-list.cjs.map +1 -1
  170. package/dist/lib/description-list.js +11 -12
  171. package/dist/lib/description-list.js.map +1 -1
  172. package/dist/lib/dropdown.cjs +13 -17
  173. package/dist/lib/dropdown.cjs.map +1 -1
  174. package/dist/lib/dropdown.js +13 -17
  175. package/dist/lib/dropdown.js.map +1 -1
  176. package/dist/lib/editor.cjs +409 -109
  177. package/dist/lib/editor.cjs.map +1 -1
  178. package/dist/lib/editor.js +409 -109
  179. package/dist/lib/editor.js.map +1 -1
  180. package/dist/lib/emoji-picker.cjs +512 -234
  181. package/dist/lib/emoji-picker.cjs.map +1 -1
  182. package/dist/lib/emoji-picker.js +512 -234
  183. package/dist/lib/emoji-picker.js.map +1 -1
  184. package/dist/lib/emoji-row.cjs +69 -31
  185. package/dist/lib/emoji-row.cjs.map +1 -1
  186. package/dist/lib/emoji-row.js +69 -31
  187. package/dist/lib/emoji-row.js.map +1 -1
  188. package/dist/lib/emoji-text-wrapper.cjs +14 -22
  189. package/dist/lib/emoji-text-wrapper.cjs.map +1 -1
  190. package/dist/lib/emoji-text-wrapper.js +14 -22
  191. package/dist/lib/emoji-text-wrapper.js.map +1 -1
  192. package/dist/lib/emoji.cjs +40 -13
  193. package/dist/lib/emoji.cjs.map +1 -1
  194. package/dist/lib/emoji.js +40 -13
  195. package/dist/lib/emoji.js.map +1 -1
  196. package/dist/lib/empty-state.cjs +27 -12
  197. package/dist/lib/empty-state.cjs.map +1 -1
  198. package/dist/lib/empty-state.js +27 -12
  199. package/dist/lib/empty-state.js.map +1 -1
  200. package/dist/lib/feed-item-row.cjs +106 -27
  201. package/dist/lib/feed-item-row.cjs.map +1 -1
  202. package/dist/lib/feed-item-row.js +106 -27
  203. package/dist/lib/feed-item-row.js.map +1 -1
  204. package/dist/lib/feed-pill.cjs +90 -35
  205. package/dist/lib/feed-pill.cjs.map +1 -1
  206. package/dist/lib/feed-pill.js +90 -35
  207. package/dist/lib/feed-pill.js.map +1 -1
  208. package/dist/lib/general-row.cjs +184 -75
  209. package/dist/lib/general-row.cjs.map +1 -1
  210. package/dist/lib/general-row.js +184 -75
  211. package/dist/lib/general-row.js.map +1 -1
  212. package/dist/lib/group-row.cjs +27 -16
  213. package/dist/lib/group-row.cjs.map +1 -1
  214. package/dist/lib/group-row.js +27 -16
  215. package/dist/lib/group-row.js.map +1 -1
  216. package/dist/lib/grouped-chip.cjs +68 -20
  217. package/dist/lib/grouped-chip.cjs.map +1 -1
  218. package/dist/lib/grouped-chip.js +68 -20
  219. package/dist/lib/grouped-chip.js.map +1 -1
  220. package/dist/lib/hovercard.cjs +71 -41
  221. package/dist/lib/hovercard.cjs.map +1 -1
  222. package/dist/lib/hovercard.js +71 -41
  223. package/dist/lib/hovercard.js.map +1 -1
  224. package/dist/lib/icon.cjs +10 -12
  225. package/dist/lib/icon.cjs.map +1 -1
  226. package/dist/lib/icon.js +10 -12
  227. package/dist/lib/icon.js.map +1 -1
  228. package/dist/lib/illustration.cjs +9 -12
  229. package/dist/lib/illustration.cjs.map +1 -1
  230. package/dist/lib/illustration.js +9 -12
  231. package/dist/lib/illustration.js.map +1 -1
  232. package/dist/lib/image-viewer.cjs +98 -23
  233. package/dist/lib/image-viewer.cjs.map +1 -1
  234. package/dist/lib/image-viewer.js +98 -23
  235. package/dist/lib/image-viewer.js.map +1 -1
  236. package/dist/lib/input-group.cjs +24 -14
  237. package/dist/lib/input-group.cjs.map +1 -1
  238. package/dist/lib/input-group.js +24 -14
  239. package/dist/lib/input-group.js.map +1 -1
  240. package/dist/lib/input.cjs +108 -40
  241. package/dist/lib/input.cjs.map +1 -1
  242. package/dist/lib/input.js +108 -40
  243. package/dist/lib/input.js.map +1 -1
  244. package/dist/lib/item-layout.cjs +42 -11
  245. package/dist/lib/item-layout.cjs.map +1 -1
  246. package/dist/lib/item-layout.js +42 -11
  247. package/dist/lib/item-layout.js.map +1 -1
  248. package/dist/lib/ivr-node.cjs +135 -47
  249. package/dist/lib/ivr-node.cjs.map +1 -1
  250. package/dist/lib/ivr-node.js +135 -47
  251. package/dist/lib/ivr-node.js.map +1 -1
  252. package/dist/lib/keyboard-shortcut.cjs +35 -23
  253. package/dist/lib/keyboard-shortcut.cjs.map +1 -1
  254. package/dist/lib/keyboard-shortcut.js +35 -23
  255. package/dist/lib/keyboard-shortcut.js.map +1 -1
  256. package/dist/lib/lazy-show.cjs +15 -11
  257. package/dist/lib/lazy-show.cjs.map +1 -1
  258. package/dist/lib/lazy-show.js +15 -11
  259. package/dist/lib/lazy-show.js.map +1 -1
  260. package/dist/lib/link.cjs +9 -15
  261. package/dist/lib/link.cjs.map +1 -1
  262. package/dist/lib/link.js +9 -15
  263. package/dist/lib/link.js.map +1 -1
  264. package/dist/lib/list-item-group.cjs +17 -11
  265. package/dist/lib/list-item-group.cjs.map +1 -1
  266. package/dist/lib/list-item-group.js +17 -11
  267. package/dist/lib/list-item-group.js.map +1 -1
  268. package/dist/lib/list-item.cjs +42 -23
  269. package/dist/lib/list-item.cjs.map +1 -1
  270. package/dist/lib/list-item.js +42 -23
  271. package/dist/lib/list-item.js.map +1 -1
  272. package/dist/lib/message-input.cjs +360 -97
  273. package/dist/lib/message-input.cjs.map +1 -1
  274. package/dist/lib/message-input.js +360 -97
  275. package/dist/lib/message-input.js.map +1 -1
  276. package/dist/lib/modal.cjs +94 -36
  277. package/dist/lib/modal.cjs.map +1 -1
  278. package/dist/lib/modal.js +94 -36
  279. package/dist/lib/modal.js.map +1 -1
  280. package/dist/lib/notice.cjs +40 -21
  281. package/dist/lib/notice.cjs.map +1 -1
  282. package/dist/lib/notice.js +40 -21
  283. package/dist/lib/notice.js.map +1 -1
  284. package/dist/lib/pagination.cjs +81 -20
  285. package/dist/lib/pagination.cjs.map +1 -1
  286. package/dist/lib/pagination.js +81 -20
  287. package/dist/lib/pagination.js.map +1 -1
  288. package/dist/lib/popover.cjs +194 -75
  289. package/dist/lib/popover.cjs.map +1 -1
  290. package/dist/lib/popover.js +195 -76
  291. package/dist/lib/popover.js.map +1 -1
  292. package/dist/lib/presence.cjs +23 -22
  293. package/dist/lib/presence.cjs.map +1 -1
  294. package/dist/lib/presence.js +23 -22
  295. package/dist/lib/presence.js.map +1 -1
  296. package/dist/lib/radio-group.cjs +2 -11
  297. package/dist/lib/radio-group.cjs.map +1 -1
  298. package/dist/lib/radio-group.js +2 -11
  299. package/dist/lib/radio-group.js.map +1 -1
  300. package/dist/lib/radio.cjs +47 -15
  301. package/dist/lib/radio.cjs.map +1 -1
  302. package/dist/lib/radio.js +47 -15
  303. package/dist/lib/radio.js.map +1 -1
  304. package/dist/lib/rich-text-editor.cjs +336 -317
  305. package/dist/lib/rich-text-editor.cjs.map +1 -1
  306. package/dist/lib/rich-text-editor.js +336 -317
  307. package/dist/lib/rich-text-editor.js.map +1 -1
  308. package/dist/lib/root-layout.cjs +33 -15
  309. package/dist/lib/root-layout.cjs.map +1 -1
  310. package/dist/lib/root-layout.js +33 -15
  311. package/dist/lib/root-layout.js.map +1 -1
  312. package/dist/lib/scrollbar-directive.cjs.map +1 -1
  313. package/dist/lib/scrollbar-directive.js.map +1 -1
  314. package/dist/lib/select-menu.cjs +52 -33
  315. package/dist/lib/select-menu.cjs.map +1 -1
  316. package/dist/lib/select-menu.js +52 -33
  317. package/dist/lib/select-menu.js.map +1 -1
  318. package/dist/lib/settings-menu-button.cjs +42 -16
  319. package/dist/lib/settings-menu-button.cjs.map +1 -1
  320. package/dist/lib/settings-menu-button.js +42 -16
  321. package/dist/lib/settings-menu-button.js.map +1 -1
  322. package/dist/lib/skeleton.cjs +118 -93
  323. package/dist/lib/skeleton.cjs.map +1 -1
  324. package/dist/lib/skeleton.js +118 -93
  325. package/dist/lib/skeleton.js.map +1 -1
  326. package/dist/lib/split-button.cjs +164 -64
  327. package/dist/lib/split-button.cjs.map +1 -1
  328. package/dist/lib/split-button.js +164 -64
  329. package/dist/lib/split-button.js.map +1 -1
  330. package/dist/lib/stack.cjs +21 -33
  331. package/dist/lib/stack.cjs.map +1 -1
  332. package/dist/lib/stack.js +21 -33
  333. package/dist/lib/stack.js.map +1 -1
  334. package/dist/lib/tabs.cjs +20 -13
  335. package/dist/lib/tabs.cjs.map +1 -1
  336. package/dist/lib/tabs.js +20 -13
  337. package/dist/lib/tabs.js.map +1 -1
  338. package/dist/lib/time-pill.cjs +8 -11
  339. package/dist/lib/time-pill.cjs.map +1 -1
  340. package/dist/lib/time-pill.js +8 -11
  341. package/dist/lib/time-pill.js.map +1 -1
  342. package/dist/lib/toast.cjs +42 -21
  343. package/dist/lib/toast.cjs.map +1 -1
  344. package/dist/lib/toast.js +42 -21
  345. package/dist/lib/toast.js.map +1 -1
  346. package/dist/lib/toggle.cjs +28 -24
  347. package/dist/lib/toggle.cjs.map +1 -1
  348. package/dist/lib/toggle.js +28 -24
  349. package/dist/lib/toggle.js.map +1 -1
  350. package/dist/lib/tooltip-directive.cjs +32 -26
  351. package/dist/lib/tooltip-directive.cjs.map +1 -1
  352. package/dist/lib/tooltip-directive.js +32 -26
  353. package/dist/lib/tooltip-directive.js.map +1 -1
  354. package/dist/lib/tooltip.cjs +31 -21
  355. package/dist/lib/tooltip.cjs.map +1 -1
  356. package/dist/lib/tooltip.js +32 -22
  357. package/dist/lib/tooltip.js.map +1 -1
  358. package/dist/lib/top-banner-info.cjs +18 -21
  359. package/dist/lib/top-banner-info.cjs.map +1 -1
  360. package/dist/lib/top-banner-info.js +18 -21
  361. package/dist/lib/top-banner-info.js.map +1 -1
  362. package/dist/lib/unread-pill.cjs +18 -12
  363. package/dist/lib/unread-pill.cjs.map +1 -1
  364. package/dist/lib/unread-pill.js +18 -12
  365. package/dist/lib/unread-pill.js.map +1 -1
  366. package/dist/lib/validation-messages.cjs +23 -16
  367. package/dist/lib/validation-messages.cjs.map +1 -1
  368. package/dist/lib/validation-messages.js +23 -16
  369. package/dist/lib/validation-messages.js.map +1 -1
  370. package/dist/types/common/emoji/index.d.ts +2 -59236
  371. package/dist/types/common/emoji/index.d.ts.map +1 -1
  372. package/dist/types/components/button/button.vue.d.ts +1 -1
  373. package/dist/types/components/chip/chip.vue.d.ts +1 -1
  374. package/dist/types/components/combobox/combobox.vue.d.ts +1 -1
  375. package/dist/types/components/icon/icon.vue.d.ts +2 -2
  376. package/dist/types/components/icon/icon_constants.d.ts +1 -1
  377. package/dist/types/components/icon/icon_constants.d.ts.map +1 -1
  378. package/dist/types/components/illustration/illustration.vue.d.ts +2 -2
  379. package/dist/types/components/illustration/illustration_constants.d.ts +1 -1
  380. package/dist/types/components/illustration/illustration_constants.d.ts.map +1 -1
  381. package/dist/types/components/image_viewer/image_viewer.vue.d.ts +21 -0
  382. package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  383. package/dist/types/components/input/input.vue.d.ts +1 -1
  384. package/dist/types/components/modal/modal.vue.d.ts +1 -1
  385. package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
  386. package/dist/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  387. package/dist/types/components/toast/toast.vue.d.ts +1 -1
  388. package/dist/types/components/tooltip/tooltip.vue.d.ts +1 -1
  389. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  390. package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  391. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  392. package/package.json +3 -2
  393. package/dist/chunks/icon_constants-Dy4MEUJL.js.map +0 -1
  394. package/dist/chunks/icon_constants-QYpmdE0R.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":[],"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
+ {"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,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const common_emoji = require("../chunks/index-anN_sx1F.js");
4
- const icon_constants = require("../chunks/icon_constants-QYpmdE0R.js");
3
+ const common_emoji = require("../chunks/index-NYFNZeHH.js");
4
+ const icon_constants = require("../chunks/icon_constants-VEA0wI5C.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,10 +50,15 @@ 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: { code: item, size: this.size }
53
+ props: {
54
+ code: item,
55
+ size: this.size
56
+ }
54
57
  });
55
58
  }
56
- return this.$createElement("span", { class: "d-emoji-text-wrapper__text" }, item);
59
+ return this.$createElement("span", {
60
+ class: "d-emoji-text-wrapper__text"
61
+ }, item);
57
62
  });
58
63
  },
59
64
  /**
@@ -85,28 +90,15 @@ const _sfc_main = {
85
90
  },
86
91
  render(h) {
87
92
  const defaultSlotContent = this.$slots.default || [];
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
- );
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)));
96
97
  }
97
98
  };
98
99
  const _sfc_render = null;
99
100
  const _sfc_staticRenderFns = 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
- );
101
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
110
102
  const DtEmojiTextWrapper = __component__.exports;
111
103
  exports.DtEmojiTextWrapper = DtEmojiTextWrapper;
112
104
  //# 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":["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
+ {"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,5 +1,5 @@
1
- import { findShortCodes, findEmojis } from "../chunks/index-ODod4Oj_.js";
2
- import { ICON_SIZE_MODIFIERS } from "../chunks/icon_constants-Dy4MEUJL.js";
1
+ import { findShortCodes, findEmojis } from "../chunks/index-i65YVk-U.js";
2
+ import { ICON_SIZE_MODIFIERS } from "../chunks/icon_constants-TdxqLsS2.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,10 +48,15 @@ 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: { code: item, size: this.size }
51
+ props: {
52
+ code: item,
53
+ size: this.size
54
+ }
52
55
  });
53
56
  }
54
- return this.$createElement("span", { class: "d-emoji-text-wrapper__text" }, item);
57
+ return this.$createElement("span", {
58
+ class: "d-emoji-text-wrapper__text"
59
+ }, item);
55
60
  });
56
61
  },
57
62
  /**
@@ -83,28 +88,15 @@ const _sfc_main = {
83
88
  },
84
89
  render(h) {
85
90
  const defaultSlotContent = this.$slots.default || [];
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
- );
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)));
94
95
  }
95
96
  };
96
97
  const _sfc_render = null;
97
98
  const _sfc_staticRenderFns = 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
- );
99
+ var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
108
100
  const DtEmojiTextWrapper = __component__.exports;
109
101
  export {
110
102
  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":[],"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
+ {"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,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const common_emoji = require("../chunks/index-anN_sx1F.js");
3
+ const common_emoji = require("../chunks/index-NYFNZeHH.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-QYpmdE0R.js");
6
+ const icon_constants = require("../chunks/icon_constants-VEA0wI5C.js");
7
7
  require("emoji-toolkit/emoji_strategy.json");
8
8
  require("@dialpad/dialtone-icons/icons.json");
9
9
  const _sfc_main = {
@@ -127,19 +127,46 @@ 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", { 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);
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);
131
167
  };
132
168
  var _sfc_staticRenderFns = [];
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
- );
169
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
143
170
  const DtEmoji = __component__.exports;
144
171
  exports.DtEmoji = DtEmoji;
145
172
  //# 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":["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;;;;;;;;;;;;;;;;;;"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/lib/emoji.js CHANGED
@@ -1,7 +1,7 @@
1
- import { customEmojiAssetUrl, emojiImageUrlSmall, emojiFileExtensionSmall, emojiImageUrlLarge, emojiFileExtensionLarge, stringToUnicode, codeToEmojiData } from "../chunks/index-ODod4Oj_.js";
1
+ import { customEmojiAssetUrl, emojiImageUrlSmall, emojiFileExtensionSmall, emojiImageUrlLarge, emojiFileExtensionLarge, stringToUnicode, codeToEmojiData } from "../chunks/index-i65YVk-U.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-Dy4MEUJL.js";
4
+ import { ICON_SIZE_MODIFIERS } from "../chunks/icon_constants-TdxqLsS2.js";
5
5
  import "emoji-toolkit/emoji_strategy.json";
6
6
  import "@dialpad/dialtone-icons/icons.json";
7
7
  const _sfc_main = {
@@ -125,19 +125,46 @@ 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", { 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);
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);
129
165
  };
130
166
  var _sfc_staticRenderFns = [];
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
- );
167
+ var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
141
168
  const DtEmoji = __component__.exports;
142
169
  export {
143
170
  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":[],"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;;;;;;;;;;;;;;;;;"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -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-QYpmdE0R.js");
7
+ const icon_constants = require("../chunks/icon_constants-VEA0wI5C.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,19 +150,34 @@ 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", { 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);
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);
154
178
  };
155
179
  var _sfc_staticRenderFns = [];
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
- );
180
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
166
181
  const empty_state = __component__.exports;
167
182
  exports.DtEmptyState = empty_state;
168
183
  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":["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;;;;;;;;;;;;;;;;;;;"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -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-Dy4MEUJL.js";
5
+ import { ICON_NAMES } from "../chunks/icon_constants-TdxqLsS2.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,19 +148,34 @@ 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", { 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);
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);
152
176
  };
153
177
  var _sfc_staticRenderFns = [];
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
- );
178
+ var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
164
179
  const empty_state = __component__.exports;
165
180
  export {
166
181
  empty_state as DtEmptyState,