@dialpad/dialtone 9.133.0-next.2 → 9.134.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 (1082) hide show
  1. package/dist/css/dialtone-default-theme.css +2980 -2995
  2. package/dist/css/dialtone-default-theme.min.css +1 -1
  3. package/dist/css/dialtone-docs.json +1 -1
  4. package/dist/css/dialtone.css +1964 -2041
  5. package/dist/css/dialtone.min.css +1 -1
  6. package/dist/css/tokens-docs.json +1 -1
  7. package/dist/tokens/doc.json +64053 -64053
  8. package/dist/vue2/common/constants/index.cjs.map +1 -1
  9. package/dist/vue2/common/constants/index.js.map +1 -1
  10. package/dist/vue2/common/dates/index.cjs.map +1 -1
  11. package/dist/vue2/common/dates/index.js +3 -3
  12. package/dist/vue2/common/dates/index.js.map +1 -1
  13. package/dist/vue2/common/emoji/index.cjs +1 -1
  14. package/dist/vue2/common/emoji/index.cjs.map +1 -1
  15. package/dist/vue2/common/emoji/index.js +46 -39
  16. package/dist/vue2/common/emoji/index.js.map +1 -1
  17. package/dist/vue2/common/mixins/dom.cjs.map +1 -1
  18. package/dist/vue2/common/mixins/dom.js.map +1 -1
  19. package/dist/vue2/common/mixins/input-group.cjs.map +1 -1
  20. package/dist/vue2/common/mixins/input-group.js +5 -5
  21. package/dist/vue2/common/mixins/input-group.js.map +1 -1
  22. package/dist/vue2/common/mixins/input.cjs.map +1 -1
  23. package/dist/vue2/common/mixins/input.js.map +1 -1
  24. package/dist/vue2/common/mixins/keyboard-list-navigation.cjs.map +1 -1
  25. package/dist/vue2/common/mixins/keyboard-list-navigation.js.map +1 -1
  26. package/dist/vue2/common/mixins/modal.cjs.map +1 -1
  27. package/dist/vue2/common/mixins/modal.js.map +1 -1
  28. package/dist/vue2/common/mixins/skeleton.cjs.map +1 -1
  29. package/dist/vue2/common/mixins/skeleton.js.map +1 -1
  30. package/dist/vue2/common/utils/index.cjs.map +1 -1
  31. package/dist/vue2/common/utils/index.js.map +1 -1
  32. package/dist/vue2/common/validators/index.cjs.map +1 -1
  33. package/dist/vue2/common/validators/index.js.map +1 -1
  34. package/dist/vue2/dialtone-vue.cjs +1 -1
  35. package/dist/vue2/dialtone-vue.js +360 -359
  36. package/dist/vue2/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  37. package/dist/vue2/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  38. package/dist/vue2/lib/attachment-carousel/attachment-carousel.js +4 -4
  39. package/dist/vue2/lib/avatar/avatar-constants.cjs.map +1 -1
  40. package/dist/vue2/lib/avatar/avatar-constants.js.map +1 -1
  41. package/dist/vue2/lib/avatar/avatar.cjs.map +1 -1
  42. package/dist/vue2/lib/avatar/avatar.js +11 -11
  43. package/dist/vue2/lib/avatar/avatar.js.map +1 -1
  44. package/dist/vue2/lib/avatar/utils.cjs.map +1 -1
  45. package/dist/vue2/lib/avatar/utils.js.map +1 -1
  46. package/dist/vue2/lib/badge/badge.cjs.map +1 -1
  47. package/dist/vue2/lib/badge/badge.js +7 -7
  48. package/dist/vue2/lib/badge/badge.js.map +1 -1
  49. package/dist/vue2/lib/banner/banner.cjs +1 -1
  50. package/dist/vue2/lib/banner/banner.cjs.map +1 -1
  51. package/dist/vue2/lib/banner/banner.js +4 -4
  52. package/dist/vue2/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
  53. package/dist/vue2/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  54. package/dist/vue2/lib/button/button-constants.cjs.map +1 -1
  55. package/dist/vue2/lib/button/button-constants.js.map +1 -1
  56. package/dist/vue2/lib/button/button.cjs.map +1 -1
  57. package/dist/vue2/lib/button/button.js +12 -12
  58. package/dist/vue2/lib/button-group/button-group.cjs.map +1 -1
  59. package/dist/vue2/lib/button-group/buttons-decorator.cjs.map +1 -1
  60. package/dist/vue2/lib/callbar-button/callbar-button-constants.cjs.map +1 -1
  61. package/dist/vue2/lib/callbar-button/callbar-button-constants.js.map +1 -1
  62. package/dist/vue2/lib/callbar-button/callbar-button.cjs +1 -1
  63. package/dist/vue2/lib/callbar-button/callbar-button.cjs.map +1 -1
  64. package/dist/vue2/lib/callbar-button/callbar-button.js +3 -3
  65. package/dist/vue2/lib/callbar-button/callbar-button.js.map +1 -1
  66. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  67. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  68. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +6 -6
  69. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  70. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  71. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  72. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.js +6 -6
  73. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  74. package/dist/vue2/lib/callbox/callbox-constants.cjs.map +1 -1
  75. package/dist/vue2/lib/callbox/callbox-constants.js.map +1 -1
  76. package/dist/vue2/lib/callbox/callbox.cjs.map +1 -1
  77. package/dist/vue2/lib/callbox/callbox.js +5 -5
  78. package/dist/vue2/lib/checkbox/checkbox-constants.cjs.map +1 -1
  79. package/dist/vue2/lib/checkbox/checkbox-constants.js.map +1 -1
  80. package/dist/vue2/lib/checkbox/checkbox.cjs.map +1 -1
  81. package/dist/vue2/lib/checkbox-group/checkbox-group.cjs.map +1 -1
  82. package/dist/vue2/lib/checkbox-group/checkbox-group.js.map +1 -1
  83. package/dist/vue2/lib/checkbox-group/checkboxes-decorator.cjs.map +1 -1
  84. package/dist/vue2/lib/chip/chip-constants.cjs.map +1 -1
  85. package/dist/vue2/lib/chip/chip-constants.js.map +1 -1
  86. package/dist/vue2/lib/chip/chip.cjs.map +1 -1
  87. package/dist/vue2/lib/chip/chip.js +3 -3
  88. package/dist/vue2/lib/collapsible/collapsible.cjs +1 -1
  89. package/dist/vue2/lib/collapsible/collapsible.cjs.map +1 -1
  90. package/dist/vue2/lib/collapsible/collapsible.js +7 -7
  91. package/dist/vue2/lib/combobox/combobox-constants.cjs.map +1 -1
  92. package/dist/vue2/lib/combobox/combobox-constants.js.map +1 -1
  93. package/dist/vue2/lib/combobox/combobox-empty-list.cjs.map +1 -1
  94. package/dist/vue2/lib/combobox/combobox-loading-list.cjs +1 -1
  95. package/dist/vue2/lib/combobox/combobox-loading-list.cjs.map +1 -1
  96. package/dist/vue2/lib/combobox/combobox-loading-list.js +3 -3
  97. package/dist/vue2/lib/combobox/combobox.cjs.map +1 -1
  98. package/dist/vue2/lib/combobox/combobox.js.map +1 -1
  99. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select-constants.cjs.map +1 -1
  100. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select-constants.js.map +1 -1
  101. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select-story-constants.cjs.map +1 -1
  102. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select-story-constants.js.map +1 -1
  103. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  104. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.js +3 -3
  105. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  106. package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  107. package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  108. package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.js +9 -9
  109. package/dist/vue2/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  110. package/dist/vue2/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  111. package/dist/vue2/lib/contact-centers-row/contact-centers-row.js +7 -7
  112. package/dist/vue2/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  113. package/dist/vue2/lib/contact-info/contact-info.cjs.map +1 -1
  114. package/dist/vue2/lib/contact-row/contact-row.cjs +1 -1
  115. package/dist/vue2/lib/contact-row/contact-row.cjs.map +1 -1
  116. package/dist/vue2/lib/contact-row/contact-row.js +4 -4
  117. package/dist/vue2/lib/datepicker/datepicker.cjs +1 -1
  118. package/dist/vue2/lib/datepicker/datepicker.cjs.map +1 -1
  119. package/dist/vue2/lib/datepicker/datepicker.js +21 -21
  120. package/dist/vue2/lib/datepicker/datepicker.js.map +1 -1
  121. package/dist/vue2/lib/datepicker/formatUtils.cjs.map +1 -1
  122. package/dist/vue2/lib/datepicker/formatUtils.js.map +1 -1
  123. package/dist/vue2/lib/datepicker/utils.cjs.map +1 -1
  124. package/dist/vue2/lib/datepicker/utils.js.map +1 -1
  125. package/dist/vue2/lib/description-list/description-list.cjs.map +1 -1
  126. package/dist/vue2/lib/dropdown/dropdown-constants.cjs.map +1 -1
  127. package/dist/vue2/lib/dropdown/dropdown-constants.js.map +1 -1
  128. package/dist/vue2/lib/dropdown/dropdown-story-constants.cjs.map +1 -1
  129. package/dist/vue2/lib/dropdown/dropdown-story-constants.js.map +1 -1
  130. package/dist/vue2/lib/dropdown/dropdown.cjs +1 -1
  131. package/dist/vue2/lib/dropdown/dropdown.cjs.map +1 -1
  132. package/dist/vue2/lib/dropdown/dropdown.js +1 -1
  133. package/dist/vue2/lib/dropdown/dropdown.js.map +1 -1
  134. package/dist/vue2/lib/editor/editor-constants.cjs.map +1 -1
  135. package/dist/vue2/lib/editor/editor-constants.js.map +1 -1
  136. package/dist/vue2/lib/editor/editor.cjs +1 -1
  137. package/dist/vue2/lib/editor/editor.cjs.map +1 -1
  138. package/dist/vue2/lib/editor/editor.js +44 -44
  139. package/dist/vue2/lib/editor/editor.js.map +1 -1
  140. package/dist/vue2/lib/emoji/emoji.cjs.map +1 -1
  141. package/dist/vue2/lib/emoji/emoji.js +4 -4
  142. package/dist/vue2/lib/emoji-picker/emoji-picker-constants.cjs.map +1 -1
  143. package/dist/vue2/lib/emoji-picker/emoji-picker-constants.js.map +1 -1
  144. package/dist/vue2/lib/emoji-picker/emoji-picker.cjs +1 -1
  145. package/dist/vue2/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  146. package/dist/vue2/lib/emoji-picker/emoji-picker.js +9 -9
  147. package/dist/vue2/lib/emoji-picker/emoji-picker.js.map +1 -1
  148. package/dist/vue2/lib/emoji-row/emoji-row-constants.cjs.map +1 -1
  149. package/dist/vue2/lib/emoji-row/emoji-row-constants.js.map +1 -1
  150. package/dist/vue2/lib/emoji-row/emoji-row.cjs +1 -1
  151. package/dist/vue2/lib/emoji-row/emoji-row.cjs.map +1 -1
  152. package/dist/vue2/lib/emoji-row/emoji-row.js +30 -30
  153. package/dist/vue2/lib/emoji-row/emoji-row.js.map +1 -1
  154. package/dist/vue2/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
  155. package/dist/vue2/lib/empty-state/empty-state-constants.cjs.map +1 -1
  156. package/dist/vue2/lib/empty-state/empty-state-constants.js.map +1 -1
  157. package/dist/vue2/lib/empty-state/empty-state.cjs.map +1 -1
  158. package/dist/vue2/lib/empty-state/empty-state.js +3 -3
  159. package/dist/vue2/lib/empty-state/empty-state.js.map +1 -1
  160. package/dist/vue2/lib/feed-item-pill/feed-item-pill-constants.cjs.map +1 -1
  161. package/dist/vue2/lib/feed-item-pill/feed-item-pill-constants.js.map +1 -1
  162. package/dist/vue2/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  163. package/dist/vue2/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  164. package/dist/vue2/lib/feed-item-pill/feed-item-pill.js +3 -3
  165. package/dist/vue2/lib/feed-item-row/feed-item-row-constants.cjs.map +1 -1
  166. package/dist/vue2/lib/feed-item-row/feed-item-row-constants.js.map +1 -1
  167. package/dist/vue2/lib/feed-item-row/feed-item-row.cjs +1 -1
  168. package/dist/vue2/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  169. package/dist/vue2/lib/feed-item-row/feed-item-row.js +8 -8
  170. package/dist/vue2/lib/general-row/general-row-constants.cjs.map +1 -1
  171. package/dist/vue2/lib/general-row/general-row-constants.js.map +1 -1
  172. package/dist/vue2/lib/general-row/general-row.cjs +1 -1
  173. package/dist/vue2/lib/general-row/general-row.cjs.map +1 -1
  174. package/dist/vue2/lib/general-row/general-row.js +14 -14
  175. package/dist/vue2/lib/general-row/general-row.js.map +1 -1
  176. package/dist/vue2/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
  177. package/dist/vue2/lib/general-row/leftbar-general-row-icon.js +30 -30
  178. package/dist/vue2/lib/group-row/group-row.cjs.map +1 -1
  179. package/dist/vue2/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  180. package/dist/vue2/lib/hovercard/hovercard.cjs +1 -1
  181. package/dist/vue2/lib/hovercard/hovercard.cjs.map +1 -1
  182. package/dist/vue2/lib/hovercard/hovercard.js +7 -7
  183. package/dist/vue2/lib/hovercard/hovercard.js.map +1 -1
  184. package/dist/vue2/lib/icon/icon-constants.cjs.map +1 -1
  185. package/dist/vue2/lib/icon/icon-constants.js.map +1 -1
  186. package/dist/vue2/lib/icon/icon.js +3 -3
  187. package/dist/vue2/lib/illustration/illustration-constants.cjs.map +1 -1
  188. package/dist/vue2/lib/illustration/illustration-constants.js.map +1 -1
  189. package/dist/vue2/lib/image-viewer/image-viewer.cjs.map +1 -1
  190. package/dist/vue2/lib/image-viewer/image-viewer.js.map +1 -1
  191. package/dist/vue2/lib/input/input-constants.cjs.map +1 -1
  192. package/dist/vue2/lib/input/input-constants.js.map +1 -1
  193. package/dist/vue2/lib/input/input.cjs.map +1 -1
  194. package/dist/vue2/lib/input/input.js +8 -8
  195. package/dist/vue2/lib/input/input.js.map +1 -1
  196. package/dist/vue2/lib/input-group/input-group.cjs.map +1 -1
  197. package/dist/vue2/lib/ivr-node/ivr-node-constants.cjs.map +1 -1
  198. package/dist/vue2/lib/ivr-node/ivr-node-constants.js.map +1 -1
  199. package/dist/vue2/lib/ivr-node/ivr-node.cjs +1 -1
  200. package/dist/vue2/lib/ivr-node/ivr-node.cjs.map +1 -1
  201. package/dist/vue2/lib/ivr-node/ivr-node.js +27 -27
  202. package/dist/vue2/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
  203. package/dist/vue2/lib/keyboard-shortcut/keyboard-shortcut.js +13 -13
  204. package/dist/vue2/lib/link/link-constants.cjs.map +1 -1
  205. package/dist/vue2/lib/link/link-constants.js.map +1 -1
  206. package/dist/vue2/lib/link/link.cjs.map +1 -1
  207. package/dist/vue2/lib/link/link.js +3 -3
  208. package/dist/vue2/lib/list-item/list-item-constants.cjs.map +1 -1
  209. package/dist/vue2/lib/list-item/list-item-constants.js.map +1 -1
  210. package/dist/vue2/lib/list-item/list-item.cjs.map +1 -1
  211. package/dist/vue2/lib/list-item/list-item.js +1 -1
  212. package/dist/vue2/lib/list-item/list-item.js.map +1 -1
  213. package/dist/vue2/lib/list-item-group/list-item-group-constants.cjs.map +1 -1
  214. package/dist/vue2/lib/list-item-group/list-item-group-constants.js.map +1 -1
  215. package/dist/vue2/lib/list-item-group/list-item-group.cjs.map +1 -1
  216. package/dist/vue2/lib/loader/loader.cjs.map +1 -1
  217. package/dist/vue2/lib/message-input/last-active-nodes.cjs.map +1 -1
  218. package/dist/vue2/lib/message-input/last-active-nodes.js.map +1 -1
  219. package/dist/vue2/lib/message-input/message-input-button.cjs +1 -1
  220. package/dist/vue2/lib/message-input/message-input-button.cjs.map +1 -1
  221. package/dist/vue2/lib/message-input/message-input-button.js +8 -8
  222. package/dist/vue2/lib/message-input/message-input-constants.cjs.map +1 -1
  223. package/dist/vue2/lib/message-input/message-input-constants.js.map +1 -1
  224. package/dist/vue2/lib/message-input/message-input-link.cjs +1 -1
  225. package/dist/vue2/lib/message-input/message-input-link.cjs.map +1 -1
  226. package/dist/vue2/lib/message-input/message-input-link.js +8 -8
  227. package/dist/vue2/lib/message-input/message-input-topbar.cjs.map +1 -1
  228. package/dist/vue2/lib/message-input/message-input-topbar.js +9 -9
  229. package/dist/vue2/lib/message-input/message-input.cjs +1 -1
  230. package/dist/vue2/lib/message-input/message-input.cjs.map +1 -1
  231. package/dist/vue2/lib/message-input/message-input.js +26 -26
  232. package/dist/vue2/lib/message-input/message-input.js.map +1 -1
  233. package/dist/vue2/lib/modal/modal.cjs +1 -1
  234. package/dist/vue2/lib/modal/modal.cjs.map +1 -1
  235. package/dist/vue2/lib/modal/modal.js +12 -12
  236. package/dist/vue2/lib/modal/modal.js.map +1 -1
  237. package/dist/vue2/lib/notice/notice-action.cjs.map +1 -1
  238. package/dist/vue2/lib/notice/notice-constants.cjs.map +1 -1
  239. package/dist/vue2/lib/notice/notice-constants.js.map +1 -1
  240. package/dist/vue2/lib/notice/notice-icon.cjs.map +1 -1
  241. package/dist/vue2/lib/notice/notice-icon.js +9 -9
  242. package/dist/vue2/lib/notice/notice.cjs.map +1 -1
  243. package/dist/vue2/lib/notice/notice.js +3 -3
  244. package/dist/vue2/lib/pagination/pagination.cjs.map +1 -1
  245. package/dist/vue2/lib/pagination/pagination.js +3 -3
  246. package/dist/vue2/lib/pagination/pagination.js.map +1 -1
  247. package/dist/vue2/lib/popover/popover-constants.cjs.map +1 -1
  248. package/dist/vue2/lib/popover/popover-constants.js.map +1 -1
  249. package/dist/vue2/lib/popover/popover-header-footer.cjs.map +1 -1
  250. package/dist/vue2/lib/popover/popover.cjs.map +1 -1
  251. package/dist/vue2/lib/popover/popover.js +14 -14
  252. package/dist/vue2/lib/popover/popover.js.map +1 -1
  253. package/dist/vue2/lib/popover/tippy-utils.cjs.map +1 -1
  254. package/dist/vue2/lib/popover/tippy-utils.js.map +1 -1
  255. package/dist/vue2/lib/presence/presence.cjs.map +1 -1
  256. package/dist/vue2/lib/radio/radio-constants.cjs.map +1 -1
  257. package/dist/vue2/lib/radio/radio-constants.js.map +1 -1
  258. package/dist/vue2/lib/radio/radio.cjs.map +1 -1
  259. package/dist/vue2/lib/radio-group/radio-group.cjs.map +1 -1
  260. package/dist/vue2/lib/radio-group/radios-decorator.cjs.map +1 -1
  261. package/dist/vue2/lib/recipes/eslint.config.cjs.map +1 -1
  262. package/dist/vue2/lib/recipes/eslint.config.js.map +1 -1
  263. package/dist/vue2/lib/rich-text-editor/channel-suggestion.cjs.map +1 -1
  264. package/dist/vue2/lib/rich-text-editor/channel-suggestion.js.map +1 -1
  265. package/dist/vue2/lib/rich-text-editor/mention-suggestion.cjs.map +1 -1
  266. package/dist/vue2/lib/rich-text-editor/mention-suggestion.js.map +1 -1
  267. package/dist/vue2/lib/rich-text-editor/rich-text-editor-constants.cjs.map +1 -1
  268. package/dist/vue2/lib/rich-text-editor/rich-text-editor-constants.js.map +1 -1
  269. package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  270. package/dist/vue2/lib/rich-text-editor/rich-text-editor.js +21 -21
  271. package/dist/vue2/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  272. package/dist/vue2/lib/rich-text-editor/slash-command-suggestion.cjs.map +1 -1
  273. package/dist/vue2/lib/rich-text-editor/slash-command-suggestion.js.map +1 -1
  274. package/dist/vue2/lib/root-layout/root-layout-constants.cjs.map +1 -1
  275. package/dist/vue2/lib/root-layout/root-layout-constants.js.map +1 -1
  276. package/dist/vue2/lib/root-layout/root-layout.cjs.map +1 -1
  277. package/dist/vue2/lib/root-layout/root-layout.js +1 -1
  278. package/dist/vue2/lib/scrollbar-directive/scrollbar.cjs.map +1 -1
  279. package/dist/vue2/lib/scrollbar-directive/scrollbar.js.map +1 -1
  280. package/dist/vue2/lib/select-menu/select-menu-constants.cjs.map +1 -1
  281. package/dist/vue2/lib/select-menu/select-menu-constants.js.map +1 -1
  282. package/dist/vue2/lib/select-menu/select-menu.cjs.map +1 -1
  283. package/dist/vue2/lib/select-menu/select-menu.js +7 -7
  284. package/dist/vue2/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  285. package/dist/vue2/lib/skeleton/skeleton-constants.cjs.map +1 -1
  286. package/dist/vue2/lib/skeleton/skeleton-constants.js.map +1 -1
  287. package/dist/vue2/lib/skeleton/skeleton-list-item.cjs.map +1 -1
  288. package/dist/vue2/lib/skeleton/skeleton-paragraph.cjs.map +1 -1
  289. package/dist/vue2/lib/skeleton/skeleton-paragraph.js.map +1 -1
  290. package/dist/vue2/lib/skeleton/skeleton-shape.cjs.map +1 -1
  291. package/dist/vue2/lib/skeleton/skeleton-shape.js +1 -1
  292. package/dist/vue2/lib/skeleton/skeleton-text.cjs.map +1 -1
  293. package/dist/vue2/lib/skeleton/skeleton.cjs.map +1 -1
  294. package/dist/vue2/lib/split-button/split-button-alpha.cjs.map +1 -1
  295. package/dist/vue2/lib/split-button/split-button-constants.cjs.map +1 -1
  296. package/dist/vue2/lib/split-button/split-button-constants.js.map +1 -1
  297. package/dist/vue2/lib/split-button/split-button-omega.cjs.map +1 -1
  298. package/dist/vue2/lib/split-button/split-button.cjs.map +1 -1
  299. package/dist/vue2/lib/split-button/split-button.js +5 -5
  300. package/dist/vue2/lib/split-button/split-button.js.map +1 -1
  301. package/dist/vue2/lib/stack/stack-constants.cjs.map +1 -1
  302. package/dist/vue2/lib/stack/stack-constants.js.map +1 -1
  303. package/dist/vue2/lib/stack/stack.cjs.map +1 -1
  304. package/dist/vue2/lib/stack/stack.js +9 -9
  305. package/dist/vue2/lib/stack/utils.cjs.map +1 -1
  306. package/dist/vue2/lib/stack/utils.js.map +1 -1
  307. package/dist/vue2/lib/stack/validators.cjs.map +1 -1
  308. package/dist/vue2/lib/stack/validators.js.map +1 -1
  309. package/dist/vue2/lib/tab/tab-group.cjs.map +1 -1
  310. package/dist/vue2/lib/tab/tab-group.js +5 -5
  311. package/dist/vue2/lib/tab/tab-group.js.map +1 -1
  312. package/dist/vue2/lib/tab/tab.cjs.map +1 -1
  313. package/dist/vue2/lib/toast/toast-constants.cjs.map +1 -1
  314. package/dist/vue2/lib/toast/toast-constants.js.map +1 -1
  315. package/dist/vue2/lib/toast/toast.cjs +1 -1
  316. package/dist/vue2/lib/toast/toast.cjs.map +1 -1
  317. package/dist/vue2/lib/toast/toast.js +11 -11
  318. package/dist/vue2/lib/toggle/toggle-constants.cjs.map +1 -1
  319. package/dist/vue2/lib/toggle/toggle-constants.js.map +1 -1
  320. package/dist/vue2/lib/toggle/toggle.cjs.map +1 -1
  321. package/dist/vue2/lib/tooltip/tooltip-constants.cjs.map +1 -1
  322. package/dist/vue2/lib/tooltip/tooltip-constants.js.map +1 -1
  323. package/dist/vue2/lib/tooltip/tooltip.cjs +1 -1
  324. package/dist/vue2/lib/tooltip/tooltip.cjs.map +1 -1
  325. package/dist/vue2/lib/tooltip/tooltip.js +62 -63
  326. package/dist/vue2/lib/tooltip/tooltip.js.map +1 -1
  327. package/dist/vue2/lib/tooltip-directive/tooltip.cjs.map +1 -1
  328. package/dist/vue2/lib/tooltip-directive/tooltip.js.map +1 -1
  329. package/dist/vue2/lib/top-banner-info/top-banner-info-constants.cjs.map +1 -1
  330. package/dist/vue2/lib/top-banner-info/top-banner-info-constants.js.map +1 -1
  331. package/dist/vue2/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  332. package/dist/vue2/lib/unread-pill/unread-pill-constants.cjs.map +1 -1
  333. package/dist/vue2/lib/unread-pill/unread-pill-constants.js.map +1 -1
  334. package/dist/vue2/lib/unread-pill/unread-pill.cjs.map +1 -1
  335. package/dist/vue2/lib/unread-pill/unread-pill.js +6 -6
  336. package/dist/vue2/lib/validation-messages/validation-messages.cjs.map +1 -1
  337. package/dist/vue2/lib/validation-messages/validation-messages.js +3 -3
  338. package/dist/vue2/localization/de-DE.cjs.map +1 -1
  339. package/dist/vue2/localization/de-DE.js.map +1 -1
  340. package/dist/vue2/localization/en-US.cjs +1 -1
  341. package/dist/vue2/localization/en-US.cjs.map +1 -1
  342. package/dist/vue2/localization/en-US.js +1 -1
  343. package/dist/vue2/localization/en-US.js.map +1 -1
  344. package/dist/vue2/localization/es-LA.cjs.map +1 -1
  345. package/dist/vue2/localization/es-LA.js.map +1 -1
  346. package/dist/vue2/localization/fr-FR.cjs.map +1 -1
  347. package/dist/vue2/localization/fr-FR.js.map +1 -1
  348. package/dist/vue2/localization/index.cjs.map +1 -1
  349. package/dist/vue2/localization/index.js.map +1 -1
  350. package/dist/vue2/localization/it-IT.cjs.map +1 -1
  351. package/dist/vue2/localization/it-IT.js.map +1 -1
  352. package/dist/vue2/localization/ja-JP.cjs.map +1 -1
  353. package/dist/vue2/localization/ja-JP.js.map +1 -1
  354. package/dist/vue2/localization/nl-NL.cjs.map +1 -1
  355. package/dist/vue2/localization/nl-NL.js.map +1 -1
  356. package/dist/vue2/localization/pt-BR.cjs.map +1 -1
  357. package/dist/vue2/localization/pt-BR.js.map +1 -1
  358. package/dist/vue2/localization/ru-RU.cjs.map +1 -1
  359. package/dist/vue2/localization/ru-RU.js.map +1 -1
  360. package/dist/vue2/localization/zh-CN.cjs.map +1 -1
  361. package/dist/vue2/localization/zh-CN.js.map +1 -1
  362. package/dist/vue2/node_modules/@linusborg/vue-simple-portal.cjs.map +1 -1
  363. package/dist/vue2/node_modules/@linusborg/vue-simple-portal.js.map +1 -1
  364. package/dist/vue2/node_modules/@tiptap/vue-2.cjs.map +1 -1
  365. package/dist/vue2/node_modules/@tiptap/vue-2.js.map +1 -1
  366. package/dist/vue2/shared/sr_only_close_button.cjs.map +1 -1
  367. package/dist/vue2/types/common/constants/index.d.ts.map +1 -1
  368. package/dist/vue2/types/common/dates/index.d.ts.map +1 -1
  369. package/dist/vue2/types/common/emoji/index.d.ts +1 -0
  370. package/dist/vue2/types/common/emoji/index.d.ts.map +1 -1
  371. package/dist/vue2/types/common/mixins/dom.d.ts.map +1 -1
  372. package/dist/vue2/types/common/mixins/input.d.ts +7 -7
  373. package/dist/vue2/types/common/mixins/input.d.ts.map +1 -1
  374. package/dist/vue2/types/common/mixins/input_group.d.ts +3 -3
  375. package/dist/vue2/types/common/mixins/modal.d.ts.map +1 -1
  376. package/dist/vue2/types/common/utils/index.d.ts.map +1 -1
  377. package/dist/vue2/types/components/avatar/avatar.vue.d.ts +8 -8
  378. package/dist/vue2/types/components/badge/badge.vue.d.ts +3 -3
  379. package/dist/vue2/types/components/banner/banner.vue.d.ts +2 -2
  380. package/dist/vue2/types/components/banner/banner.vue.d.ts.map +1 -1
  381. package/dist/vue2/types/components/breadcrumbs/breadcrumbs.vue.d.ts +1 -1
  382. package/dist/vue2/types/components/breadcrumbs/breadcrumbs_constants.d.ts.map +1 -1
  383. package/dist/vue2/types/components/button/button.vue.d.ts +2 -2
  384. package/dist/vue2/types/components/button/button_constants.d.ts.map +1 -1
  385. package/dist/vue2/types/components/card/card.vue.d.ts +8 -8
  386. package/dist/vue2/types/components/checkbox/checkbox.vue.d.ts +7 -7
  387. package/dist/vue2/types/components/checkbox_group/checkbox_group.vue.d.ts +3 -3
  388. package/dist/vue2/types/components/chip/chip.vue.d.ts +6 -6
  389. package/dist/vue2/types/components/collapsible/collapsible.vue.d.ts +4 -4
  390. package/dist/vue2/types/components/combobox/combobox.vue.d.ts +3 -3
  391. package/dist/vue2/types/components/combobox/combobox_empty-list.vue.d.ts +2 -2
  392. package/dist/vue2/types/components/datepicker/datepicker_constants.d.ts.map +1 -1
  393. package/dist/vue2/types/components/datepicker/formatUtils.d.ts +5 -5
  394. package/dist/vue2/types/components/datepicker/formatUtils.d.ts.map +1 -1
  395. package/dist/vue2/types/components/description_list/description_list.vue.d.ts +4 -4
  396. package/dist/vue2/types/components/dropdown/dropdown.vue.d.ts +8 -8
  397. package/dist/vue2/types/components/emoji/emoji.vue.d.ts +2 -2
  398. package/dist/vue2/types/components/emoji_picker/emoji_picker_constants.d.ts.map +1 -1
  399. package/dist/vue2/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
  400. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  401. package/dist/vue2/types/components/input/input.vue.d.ts +7 -7
  402. package/dist/vue2/types/components/input_group/input_group.vue.d.ts +3 -3
  403. package/dist/vue2/types/components/item_layout/item_layout.vue.d.ts +1 -1
  404. package/dist/vue2/types/components/link/link_constants.d.ts.map +1 -1
  405. package/dist/vue2/types/components/list_item/list_item.vue.d.ts +2 -2
  406. package/dist/vue2/types/components/list_item_group/list_item_group.vue.d.ts +4 -4
  407. package/dist/vue2/types/components/modal/modal.vue.d.ts +13 -13
  408. package/dist/vue2/types/components/modal/modal.vue.d.ts.map +1 -1
  409. package/dist/vue2/types/components/notice/notice.vue.d.ts +2 -2
  410. package/dist/vue2/types/components/popover/popover.vue.d.ts +20 -20
  411. package/dist/vue2/types/components/popover/popover.vue.d.ts.map +1 -1
  412. package/dist/vue2/types/components/popover/popover_header_footer.vue.d.ts +2 -2
  413. package/dist/vue2/types/components/popover/tippy_utils.d.ts +1 -1
  414. package/dist/vue2/types/components/radio/radio.vue.d.ts +7 -7
  415. package/dist/vue2/types/components/radio_group/radio_group.vue.d.ts +3 -3
  416. package/dist/vue2/types/components/rich_text_editor/extensions/slash_command/slash_command.d.ts +1 -1
  417. package/dist/vue2/types/components/rich_text_editor/extensions/slash_command/slash_command.d.ts.map +1 -1
  418. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +11 -11
  419. package/dist/vue2/types/components/root_layout/root_layout.vue.d.ts +8 -8
  420. package/dist/vue2/types/components/select_menu/select_menu.vue.d.ts +10 -10
  421. package/dist/vue2/types/components/skeleton/skeleton-list-item.vue.d.ts +1 -1
  422. package/dist/vue2/types/components/skeleton/skeleton-paragraph.vue.d.ts +1 -1
  423. package/dist/vue2/types/components/skeleton/skeleton-shape.vue.d.ts +3 -3
  424. package/dist/vue2/types/components/skeleton/skeleton-text.vue.d.ts +1 -1
  425. package/dist/vue2/types/components/skeleton/skeleton.vue.d.ts +7 -7
  426. package/dist/vue2/types/components/skeleton/skeleton_constants.d.ts.map +1 -1
  427. package/dist/vue2/types/components/split_button/split_button-alpha.vue.d.ts +3 -3
  428. package/dist/vue2/types/components/split_button/split_button-omega.vue.d.ts +1 -1
  429. package/dist/vue2/types/components/split_button/split_button.vue.d.ts +2 -2
  430. package/dist/vue2/types/components/tab/tab.vue.d.ts +2 -2
  431. package/dist/vue2/types/components/tab/tab_group.vue.d.ts +2 -2
  432. package/dist/vue2/types/components/tab/tab_panel.vue.d.ts +2 -2
  433. package/dist/vue2/types/components/tab/tab_panel.vue.d.ts.map +1 -1
  434. package/dist/vue2/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +2 -2
  435. package/dist/vue2/types/components/toast/layouts/toast_layout_default.vue.d.ts +2 -2
  436. package/dist/vue2/types/components/toast/toast.vue.d.ts +7 -7
  437. package/dist/vue2/types/components/toast/toast_constants.d.ts.map +1 -1
  438. package/dist/vue2/types/components/toggle/toggle.vue.d.ts +4 -4
  439. package/dist/vue2/types/components/tooltip/tooltip.vue.d.ts +8 -8
  440. package/dist/vue2/types/components/tooltip/tooltip_constants.d.ts.map +1 -1
  441. package/dist/vue2/types/components/validation_messages/validation_messages.vue.d.ts +0 -1
  442. package/dist/vue2/types/components/validation_messages/validation_messages.vue.d.ts.map +1 -1
  443. package/dist/vue2/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +6 -6
  444. package/dist/vue2/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +5 -5
  445. package/dist/vue2/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +6 -6
  446. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node_constants.d.ts.map +1 -1
  447. package/dist/vue2/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -1
  448. package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +7 -7
  449. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +3 -3
  450. package/dist/vue2/types/recipes/conversation_view/editor/editor_constants.d.ts.map +1 -1
  451. package/dist/vue2/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  452. package/dist/vue2/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +4 -4
  453. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  454. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  455. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row_constants.d.ts.map +1 -1
  456. package/dist/vue2/types/recipes/conversation_view/message_input/last_active_nodes.d.ts.map +1 -1
  457. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts +15 -15
  458. package/dist/vue2/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +1 -1
  459. package/dist/vue2/types/recipes/leftbar/callbox/callbox.vue.d.ts +1 -1
  460. package/dist/vue2/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +1 -1
  461. package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts +1 -1
  462. package/dist/vue3/common/constants/index.cjs.map +1 -1
  463. package/dist/vue3/common/constants/index.js.map +1 -1
  464. package/dist/vue3/common/dates/index.cjs.map +1 -1
  465. package/dist/vue3/common/dates/index.js +3 -3
  466. package/dist/vue3/common/dates/index.js.map +1 -1
  467. package/dist/vue3/common/emoji/index.cjs +1 -1
  468. package/dist/vue3/common/emoji/index.cjs.map +1 -1
  469. package/dist/vue3/common/emoji/index.js +46 -39
  470. package/dist/vue3/common/emoji/index.js.map +1 -1
  471. package/dist/vue3/common/mixins/dom.cjs.map +1 -1
  472. package/dist/vue3/common/mixins/dom.js.map +1 -1
  473. package/dist/vue3/common/mixins/input-group.cjs.map +1 -1
  474. package/dist/vue3/common/mixins/input-group.js +5 -5
  475. package/dist/vue3/common/mixins/input-group.js.map +1 -1
  476. package/dist/vue3/common/mixins/input.cjs.map +1 -1
  477. package/dist/vue3/common/mixins/input.js.map +1 -1
  478. package/dist/vue3/common/mixins/keyboard-list-navigation.cjs.map +1 -1
  479. package/dist/vue3/common/mixins/keyboard-list-navigation.js.map +1 -1
  480. package/dist/vue3/common/mixins/modal.cjs.map +1 -1
  481. package/dist/vue3/common/mixins/modal.js.map +1 -1
  482. package/dist/vue3/common/mixins/skeleton.cjs.map +1 -1
  483. package/dist/vue3/common/mixins/skeleton.js.map +1 -1
  484. package/dist/vue3/common/utils/index.cjs.map +1 -1
  485. package/dist/vue3/common/utils/index.js +3 -3
  486. package/dist/vue3/common/utils/index.js.map +1 -1
  487. package/dist/vue3/common/validators/index.cjs.map +1 -1
  488. package/dist/vue3/common/validators/index.js.map +1 -1
  489. package/dist/vue3/dialtone-vue.cjs +1 -1
  490. package/dist/vue3/dialtone-vue.js +363 -362
  491. package/dist/vue3/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  492. package/dist/vue3/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  493. package/dist/vue3/lib/attachment-carousel/attachment-carousel.js +5 -5
  494. package/dist/vue3/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  495. package/dist/vue3/lib/avatar/avatar-constants.cjs.map +1 -1
  496. package/dist/vue3/lib/avatar/avatar-constants.js.map +1 -1
  497. package/dist/vue3/lib/avatar/avatar.cjs.map +1 -1
  498. package/dist/vue3/lib/avatar/avatar.js +11 -11
  499. package/dist/vue3/lib/avatar/avatar.js.map +1 -1
  500. package/dist/vue3/lib/avatar/utils.cjs.map +1 -1
  501. package/dist/vue3/lib/avatar/utils.js.map +1 -1
  502. package/dist/vue3/lib/badge/badge.cjs.map +1 -1
  503. package/dist/vue3/lib/badge/badge.js +12 -12
  504. package/dist/vue3/lib/badge/badge.js.map +1 -1
  505. package/dist/vue3/lib/banner/banner.cjs +1 -1
  506. package/dist/vue3/lib/banner/banner.cjs.map +1 -1
  507. package/dist/vue3/lib/banner/banner.js +7 -7
  508. package/dist/vue3/lib/banner/banner.js.map +1 -1
  509. package/dist/vue3/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
  510. package/dist/vue3/lib/breadcrumbs/breadcrumb-item.js +5 -5
  511. package/dist/vue3/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
  512. package/dist/vue3/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  513. package/dist/vue3/lib/breadcrumbs/breadcrumbs.js +1 -1
  514. package/dist/vue3/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  515. package/dist/vue3/lib/button/button-constants.cjs.map +1 -1
  516. package/dist/vue3/lib/button/button-constants.js.map +1 -1
  517. package/dist/vue3/lib/button/button.cjs.map +1 -1
  518. package/dist/vue3/lib/button/button.js +22 -22
  519. package/dist/vue3/lib/button/button.js.map +1 -1
  520. package/dist/vue3/lib/button-group/button-group.cjs.map +1 -1
  521. package/dist/vue3/lib/button-group/button-group.js +2 -2
  522. package/dist/vue3/lib/button-group/button-group.js.map +1 -1
  523. package/dist/vue3/lib/button-group/buttons-decorator.cjs.map +1 -1
  524. package/dist/vue3/lib/button-group/buttons-decorator.js +2 -2
  525. package/dist/vue3/lib/button-group/buttons-decorator.js.map +1 -1
  526. package/dist/vue3/lib/callbar-button/callbar-button-constants.cjs.map +1 -1
  527. package/dist/vue3/lib/callbar-button/callbar-button-constants.js.map +1 -1
  528. package/dist/vue3/lib/callbar-button/callbar-button.cjs +1 -1
  529. package/dist/vue3/lib/callbar-button/callbar-button.cjs.map +1 -1
  530. package/dist/vue3/lib/callbar-button/callbar-button.js +13 -13
  531. package/dist/vue3/lib/callbar-button/callbar-button.js.map +1 -1
  532. package/dist/vue3/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  533. package/dist/vue3/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  534. package/dist/vue3/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +13 -13
  535. package/dist/vue3/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  536. package/dist/vue3/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  537. package/dist/vue3/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  538. package/dist/vue3/lib/callbar-button-with-popover/callbar-button-with-popover.js +13 -13
  539. package/dist/vue3/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  540. package/dist/vue3/lib/callbox/callbox-constants.cjs.map +1 -1
  541. package/dist/vue3/lib/callbox/callbox-constants.js.map +1 -1
  542. package/dist/vue3/lib/callbox/callbox.cjs.map +1 -1
  543. package/dist/vue3/lib/callbox/callbox.js +6 -6
  544. package/dist/vue3/lib/callbox/callbox.js.map +1 -1
  545. package/dist/vue3/lib/card/card.cjs.map +1 -1
  546. package/dist/vue3/lib/card/card.js +4 -4
  547. package/dist/vue3/lib/card/card.js.map +1 -1
  548. package/dist/vue3/lib/checkbox/checkbox-constants.cjs.map +1 -1
  549. package/dist/vue3/lib/checkbox/checkbox-constants.js.map +1 -1
  550. package/dist/vue3/lib/checkbox/checkbox.cjs.map +1 -1
  551. package/dist/vue3/lib/checkbox/checkbox.js +8 -8
  552. package/dist/vue3/lib/checkbox/checkbox.js.map +1 -1
  553. package/dist/vue3/lib/checkbox-group/checkbox-group.cjs.map +1 -1
  554. package/dist/vue3/lib/checkbox-group/checkbox-group.js.map +1 -1
  555. package/dist/vue3/lib/checkbox-group/checkboxes-decorator.cjs.map +1 -1
  556. package/dist/vue3/lib/checkbox-group/checkboxes-decorator.js +1 -1
  557. package/dist/vue3/lib/checkbox-group/checkboxes-decorator.js.map +1 -1
  558. package/dist/vue3/lib/chip/chip-constants.cjs.map +1 -1
  559. package/dist/vue3/lib/chip/chip-constants.js.map +1 -1
  560. package/dist/vue3/lib/chip/chip.cjs.map +1 -1
  561. package/dist/vue3/lib/chip/chip.js +13 -13
  562. package/dist/vue3/lib/chip/chip.js.map +1 -1
  563. package/dist/vue3/lib/codeblock/codeblock.cjs.map +1 -1
  564. package/dist/vue3/lib/codeblock/codeblock.js +2 -2
  565. package/dist/vue3/lib/codeblock/codeblock.js.map +1 -1
  566. package/dist/vue3/lib/collapsible/collapsible-lazy-show.cjs.map +1 -1
  567. package/dist/vue3/lib/collapsible/collapsible-lazy-show.js +3 -3
  568. package/dist/vue3/lib/collapsible/collapsible-lazy-show.js.map +1 -1
  569. package/dist/vue3/lib/collapsible/collapsible.cjs +1 -1
  570. package/dist/vue3/lib/collapsible/collapsible.cjs.map +1 -1
  571. package/dist/vue3/lib/collapsible/collapsible.js +18 -18
  572. package/dist/vue3/lib/collapsible/collapsible.js.map +1 -1
  573. package/dist/vue3/lib/combobox/combobox-constants.cjs.map +1 -1
  574. package/dist/vue3/lib/combobox/combobox-constants.js.map +1 -1
  575. package/dist/vue3/lib/combobox/combobox-empty-list.cjs.map +1 -1
  576. package/dist/vue3/lib/combobox/combobox-empty-list.js +2 -2
  577. package/dist/vue3/lib/combobox/combobox-empty-list.js.map +1 -1
  578. package/dist/vue3/lib/combobox/combobox-loading-list.cjs +1 -1
  579. package/dist/vue3/lib/combobox/combobox-loading-list.cjs.map +1 -1
  580. package/dist/vue3/lib/combobox/combobox-loading-list.js +6 -6
  581. package/dist/vue3/lib/combobox/combobox-loading-list.js.map +1 -1
  582. package/dist/vue3/lib/combobox/combobox.cjs.map +1 -1
  583. package/dist/vue3/lib/combobox/combobox.js +7 -7
  584. package/dist/vue3/lib/combobox/combobox.js.map +1 -1
  585. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select-constants.cjs.map +1 -1
  586. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select-constants.js.map +1 -1
  587. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select-story-constants.cjs.map +1 -1
  588. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select-story-constants.js.map +1 -1
  589. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  590. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.js +15 -15
  591. package/dist/vue3/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  592. package/dist/vue3/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  593. package/dist/vue3/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  594. package/dist/vue3/lib/combobox-with-popover/combobox-with-popover.js +13 -13
  595. package/dist/vue3/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  596. package/dist/vue3/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  597. package/dist/vue3/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  598. package/dist/vue3/lib/contact-centers-row/contact-centers-row.js +19 -19
  599. package/dist/vue3/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  600. package/dist/vue3/lib/contact-info/contact-info.cjs.map +1 -1
  601. package/dist/vue3/lib/contact-info/contact-info.js +1 -1
  602. package/dist/vue3/lib/contact-info/contact-info.js.map +1 -1
  603. package/dist/vue3/lib/contact-row/contact-row.cjs +1 -1
  604. package/dist/vue3/lib/contact-row/contact-row.cjs.map +1 -1
  605. package/dist/vue3/lib/contact-row/contact-row.js +12 -12
  606. package/dist/vue3/lib/contact-row/contact-row.js.map +1 -1
  607. package/dist/vue3/lib/datepicker/datepicker.cjs.map +1 -1
  608. package/dist/vue3/lib/datepicker/datepicker.js +5 -5
  609. package/dist/vue3/lib/datepicker/datepicker.js.map +1 -1
  610. package/dist/vue3/lib/datepicker/formatUtils.cjs.map +1 -1
  611. package/dist/vue3/lib/datepicker/formatUtils.js.map +1 -1
  612. package/dist/vue3/lib/datepicker/utils.cjs.map +1 -1
  613. package/dist/vue3/lib/datepicker/utils.js.map +1 -1
  614. package/dist/vue3/lib/description-list/description-list.cjs.map +1 -1
  615. package/dist/vue3/lib/description-list/description-list.js +3 -3
  616. package/dist/vue3/lib/description-list/description-list.js.map +1 -1
  617. package/dist/vue3/lib/dropdown/dropdown-constants.cjs.map +1 -1
  618. package/dist/vue3/lib/dropdown/dropdown-constants.js.map +1 -1
  619. package/dist/vue3/lib/dropdown/dropdown-list.cjs.map +1 -1
  620. package/dist/vue3/lib/dropdown/dropdown-list.js +5 -5
  621. package/dist/vue3/lib/dropdown/dropdown-list.js.map +1 -1
  622. package/dist/vue3/lib/dropdown/dropdown-separator.cjs.map +1 -1
  623. package/dist/vue3/lib/dropdown/dropdown-separator.js +2 -2
  624. package/dist/vue3/lib/dropdown/dropdown-separator.js.map +1 -1
  625. package/dist/vue3/lib/dropdown/dropdown-story-constants.cjs.map +1 -1
  626. package/dist/vue3/lib/dropdown/dropdown-story-constants.js.map +1 -1
  627. package/dist/vue3/lib/dropdown/dropdown.cjs +1 -1
  628. package/dist/vue3/lib/dropdown/dropdown.cjs.map +1 -1
  629. package/dist/vue3/lib/dropdown/dropdown.js +3 -3
  630. package/dist/vue3/lib/dropdown/dropdown.js.map +1 -1
  631. package/dist/vue3/lib/editor/editor-constants.cjs.map +1 -1
  632. package/dist/vue3/lib/editor/editor-constants.js.map +1 -1
  633. package/dist/vue3/lib/editor/editor.cjs +1 -1
  634. package/dist/vue3/lib/editor/editor.cjs.map +1 -1
  635. package/dist/vue3/lib/editor/editor.js +48 -48
  636. package/dist/vue3/lib/editor/editor.js.map +1 -1
  637. package/dist/vue3/lib/emoji/emoji.cjs.map +1 -1
  638. package/dist/vue3/lib/emoji/emoji.js +6 -6
  639. package/dist/vue3/lib/emoji/emoji.js.map +1 -1
  640. package/dist/vue3/lib/emoji-picker/emoji-picker-constants.cjs.map +1 -1
  641. package/dist/vue3/lib/emoji-picker/emoji-picker-constants.js.map +1 -1
  642. package/dist/vue3/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  643. package/dist/vue3/lib/emoji-picker/emoji-picker.js +2 -2
  644. package/dist/vue3/lib/emoji-picker/emoji-picker.js.map +1 -1
  645. package/dist/vue3/lib/emoji-row/emoji-row-constants.cjs.map +1 -1
  646. package/dist/vue3/lib/emoji-row/emoji-row-constants.js.map +1 -1
  647. package/dist/vue3/lib/emoji-row/emoji-row.cjs +1 -1
  648. package/dist/vue3/lib/emoji-row/emoji-row.cjs.map +1 -1
  649. package/dist/vue3/lib/emoji-row/emoji-row.js +59 -50
  650. package/dist/vue3/lib/emoji-row/emoji-row.js.map +1 -1
  651. package/dist/vue3/lib/emoji-text-wrapper/emoji-text-wrapper.cjs +1 -1
  652. package/dist/vue3/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
  653. package/dist/vue3/lib/emoji-text-wrapper/emoji-text-wrapper.js +1 -0
  654. package/dist/vue3/lib/emoji-text-wrapper/emoji-text-wrapper.js.map +1 -1
  655. package/dist/vue3/lib/empty-state/empty-state-constants.cjs.map +1 -1
  656. package/dist/vue3/lib/empty-state/empty-state-constants.js.map +1 -1
  657. package/dist/vue3/lib/empty-state/empty-state.cjs.map +1 -1
  658. package/dist/vue3/lib/empty-state/empty-state.js +7 -7
  659. package/dist/vue3/lib/feed-item-pill/feed-item-pill-constants.cjs.map +1 -1
  660. package/dist/vue3/lib/feed-item-pill/feed-item-pill-constants.js.map +1 -1
  661. package/dist/vue3/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  662. package/dist/vue3/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  663. package/dist/vue3/lib/feed-item-pill/feed-item-pill.js +6 -6
  664. package/dist/vue3/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  665. package/dist/vue3/lib/feed-item-row/feed-item-row-constants.cjs.map +1 -1
  666. package/dist/vue3/lib/feed-item-row/feed-item-row-constants.js.map +1 -1
  667. package/dist/vue3/lib/feed-item-row/feed-item-row.cjs +1 -1
  668. package/dist/vue3/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  669. package/dist/vue3/lib/feed-item-row/feed-item-row.js +29 -29
  670. package/dist/vue3/lib/feed-item-row/feed-item-row.js.map +1 -1
  671. package/dist/vue3/lib/general-row/general-row-constants.cjs.map +1 -1
  672. package/dist/vue3/lib/general-row/general-row-constants.js.map +1 -1
  673. package/dist/vue3/lib/general-row/general-row.cjs +1 -1
  674. package/dist/vue3/lib/general-row/general-row.cjs.map +1 -1
  675. package/dist/vue3/lib/general-row/general-row.js +30 -30
  676. package/dist/vue3/lib/general-row/general-row.js.map +1 -1
  677. package/dist/vue3/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
  678. package/dist/vue3/lib/general-row/leftbar-general-row-icon.js +35 -35
  679. package/dist/vue3/lib/general-row/leftbar-general-row-icon.js.map +1 -1
  680. package/dist/vue3/lib/group-row/group-row.cjs.map +1 -1
  681. package/dist/vue3/lib/group-row/group-row.js +3 -3
  682. package/dist/vue3/lib/group-row/group-row.js.map +1 -1
  683. package/dist/vue3/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  684. package/dist/vue3/lib/grouped-chip/grouped-chip.js +14 -14
  685. package/dist/vue3/lib/grouped-chip/grouped-chip.js.map +1 -1
  686. package/dist/vue3/lib/hovercard/hovercard.cjs +1 -1
  687. package/dist/vue3/lib/hovercard/hovercard.cjs.map +1 -1
  688. package/dist/vue3/lib/hovercard/hovercard.js +6 -6
  689. package/dist/vue3/lib/hovercard/hovercard.js.map +1 -1
  690. package/dist/vue3/lib/icon/icon-constants.cjs.map +1 -1
  691. package/dist/vue3/lib/icon/icon-constants.js.map +1 -1
  692. package/dist/vue3/lib/icon/icon.cjs.map +1 -1
  693. package/dist/vue3/lib/icon/icon.js +6 -6
  694. package/dist/vue3/lib/icon/icon.js.map +1 -1
  695. package/dist/vue3/lib/illustration/illustration-constants.cjs.map +1 -1
  696. package/dist/vue3/lib/illustration/illustration-constants.js.map +1 -1
  697. package/dist/vue3/lib/illustration/illustration.cjs.map +1 -1
  698. package/dist/vue3/lib/illustration/illustration.js +3 -3
  699. package/dist/vue3/lib/image-viewer/image-viewer.cjs.map +1 -1
  700. package/dist/vue3/lib/image-viewer/image-viewer.js +12 -12
  701. package/dist/vue3/lib/image-viewer/image-viewer.js.map +1 -1
  702. package/dist/vue3/lib/input/input-constants.cjs.map +1 -1
  703. package/dist/vue3/lib/input/input-constants.js.map +1 -1
  704. package/dist/vue3/lib/input/input.cjs.map +1 -1
  705. package/dist/vue3/lib/input/input.js +20 -20
  706. package/dist/vue3/lib/input/input.js.map +1 -1
  707. package/dist/vue3/lib/input-group/input-group.cjs.map +1 -1
  708. package/dist/vue3/lib/input-group/input-group.js +8 -8
  709. package/dist/vue3/lib/input-group/input-group.js.map +1 -1
  710. package/dist/vue3/lib/item-layout/item-layout.cjs.map +1 -1
  711. package/dist/vue3/lib/item-layout/item-layout.js +13 -13
  712. package/dist/vue3/lib/item-layout/item-layout.js.map +1 -1
  713. package/dist/vue3/lib/ivr-node/ivr-node-constants.cjs.map +1 -1
  714. package/dist/vue3/lib/ivr-node/ivr-node-constants.js.map +1 -1
  715. package/dist/vue3/lib/ivr-node/ivr-node.cjs +1 -1
  716. package/dist/vue3/lib/ivr-node/ivr-node.cjs.map +1 -1
  717. package/dist/vue3/lib/ivr-node/ivr-node.js +36 -36
  718. package/dist/vue3/lib/ivr-node/ivr-node.js.map +1 -1
  719. package/dist/vue3/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
  720. package/dist/vue3/lib/keyboard-shortcut/keyboard-shortcut.js +15 -15
  721. package/dist/vue3/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
  722. package/dist/vue3/lib/lazy-show/lazy-show.cjs.map +1 -1
  723. package/dist/vue3/lib/lazy-show/lazy-show.js +2 -2
  724. package/dist/vue3/lib/lazy-show/lazy-show.js.map +1 -1
  725. package/dist/vue3/lib/link/link-constants.cjs.map +1 -1
  726. package/dist/vue3/lib/link/link-constants.js.map +1 -1
  727. package/dist/vue3/lib/link/link.cjs.map +1 -1
  728. package/dist/vue3/lib/link/link.js +5 -5
  729. package/dist/vue3/lib/link/link.js.map +1 -1
  730. package/dist/vue3/lib/list-item/list-item-constants.cjs.map +1 -1
  731. package/dist/vue3/lib/list-item/list-item-constants.js.map +1 -1
  732. package/dist/vue3/lib/list-item/list-item.cjs.map +1 -1
  733. package/dist/vue3/lib/list-item/list-item.js +4 -4
  734. package/dist/vue3/lib/list-item/list-item.js.map +1 -1
  735. package/dist/vue3/lib/list-item-group/list-item-group-constants.cjs.map +1 -1
  736. package/dist/vue3/lib/list-item-group/list-item-group-constants.js.map +1 -1
  737. package/dist/vue3/lib/list-item-group/list-item-group.cjs.map +1 -1
  738. package/dist/vue3/lib/list-item-group/list-item-group.js +5 -5
  739. package/dist/vue3/lib/list-item-group/list-item-group.js.map +1 -1
  740. package/dist/vue3/lib/loader/loader.cjs.map +1 -1
  741. package/dist/vue3/lib/loader/loader.js +2 -2
  742. package/dist/vue3/lib/loader/loader.js.map +1 -1
  743. package/dist/vue3/lib/message-input/last-active-nodes.cjs.map +1 -1
  744. package/dist/vue3/lib/message-input/last-active-nodes.js.map +1 -1
  745. package/dist/vue3/lib/message-input/message-input-button.cjs +1 -1
  746. package/dist/vue3/lib/message-input/message-input-button.cjs.map +1 -1
  747. package/dist/vue3/lib/message-input/message-input-button.js +14 -14
  748. package/dist/vue3/lib/message-input/message-input-button.js.map +1 -1
  749. package/dist/vue3/lib/message-input/message-input-constants.cjs.map +1 -1
  750. package/dist/vue3/lib/message-input/message-input-constants.js.map +1 -1
  751. package/dist/vue3/lib/message-input/message-input-link.cjs +1 -1
  752. package/dist/vue3/lib/message-input/message-input-link.cjs.map +1 -1
  753. package/dist/vue3/lib/message-input/message-input-link.js +10 -10
  754. package/dist/vue3/lib/message-input/message-input-link.js.map +1 -1
  755. package/dist/vue3/lib/message-input/message-input-topbar.cjs.map +1 -1
  756. package/dist/vue3/lib/message-input/message-input-topbar.js +11 -11
  757. package/dist/vue3/lib/message-input/message-input-topbar.js.map +1 -1
  758. package/dist/vue3/lib/message-input/message-input.cjs +1 -1
  759. package/dist/vue3/lib/message-input/message-input.cjs.map +1 -1
  760. package/dist/vue3/lib/message-input/message-input.js +30 -30
  761. package/dist/vue3/lib/message-input/message-input.js.map +1 -1
  762. package/dist/vue3/lib/modal/modal.cjs +1 -1
  763. package/dist/vue3/lib/modal/modal.cjs.map +1 -1
  764. package/dist/vue3/lib/modal/modal.js +14 -14
  765. package/dist/vue3/lib/modal/modal.js.map +1 -1
  766. package/dist/vue3/lib/notice/notice-action.cjs.map +1 -1
  767. package/dist/vue3/lib/notice/notice-action.js +1 -1
  768. package/dist/vue3/lib/notice/notice-action.js.map +1 -1
  769. package/dist/vue3/lib/notice/notice-constants.cjs.map +1 -1
  770. package/dist/vue3/lib/notice/notice-constants.js.map +1 -1
  771. package/dist/vue3/lib/notice/notice-content.cjs.map +1 -1
  772. package/dist/vue3/lib/notice/notice-content.js +6 -6
  773. package/dist/vue3/lib/notice/notice-content.js.map +1 -1
  774. package/dist/vue3/lib/notice/notice-icon.cjs.map +1 -1
  775. package/dist/vue3/lib/notice/notice-icon.js +13 -13
  776. package/dist/vue3/lib/notice/notice-icon.js.map +1 -1
  777. package/dist/vue3/lib/notice/notice.cjs.map +1 -1
  778. package/dist/vue3/lib/notice/notice.js +4 -4
  779. package/dist/vue3/lib/notice/notice.js.map +1 -1
  780. package/dist/vue3/lib/pagination/pagination.cjs.map +1 -1
  781. package/dist/vue3/lib/pagination/pagination.js +4 -4
  782. package/dist/vue3/lib/pagination/pagination.js.map +1 -1
  783. package/dist/vue3/lib/popover/popover-constants.cjs.map +1 -1
  784. package/dist/vue3/lib/popover/popover-constants.js.map +1 -1
  785. package/dist/vue3/lib/popover/popover-header-footer.cjs.map +1 -1
  786. package/dist/vue3/lib/popover/popover-header-footer.js +6 -6
  787. package/dist/vue3/lib/popover/popover-header-footer.js.map +1 -1
  788. package/dist/vue3/lib/popover/popover.cjs.map +1 -1
  789. package/dist/vue3/lib/popover/popover.js +15 -15
  790. package/dist/vue3/lib/popover/popover.js.map +1 -1
  791. package/dist/vue3/lib/popover/tippy-utils.cjs.map +1 -1
  792. package/dist/vue3/lib/popover/tippy-utils.js.map +1 -1
  793. package/dist/vue3/lib/presence/presence.cjs.map +1 -1
  794. package/dist/vue3/lib/presence/presence.js +4 -4
  795. package/dist/vue3/lib/presence/presence.js.map +1 -1
  796. package/dist/vue3/lib/radio/radio-constants.cjs.map +1 -1
  797. package/dist/vue3/lib/radio/radio-constants.js.map +1 -1
  798. package/dist/vue3/lib/radio/radio.cjs.map +1 -1
  799. package/dist/vue3/lib/radio/radio.js +13 -13
  800. package/dist/vue3/lib/radio/radio.js.map +1 -1
  801. package/dist/vue3/lib/radio-group/radio-group.cjs.map +1 -1
  802. package/dist/vue3/lib/radio-group/radio-group.js.map +1 -1
  803. package/dist/vue3/lib/radio-group/radios-decorator.cjs.map +1 -1
  804. package/dist/vue3/lib/radio-group/radios-decorator.js +1 -1
  805. package/dist/vue3/lib/radio-group/radios-decorator.js.map +1 -1
  806. package/dist/vue3/lib/recipes/eslint.config.cjs.map +1 -1
  807. package/dist/vue3/lib/recipes/eslint.config.js.map +1 -1
  808. package/dist/vue3/lib/rich-text-editor/channel-suggestion.cjs.map +1 -1
  809. package/dist/vue3/lib/rich-text-editor/channel-suggestion.js.map +1 -1
  810. package/dist/vue3/lib/rich-text-editor/mention-suggestion.cjs.map +1 -1
  811. package/dist/vue3/lib/rich-text-editor/mention-suggestion.js.map +1 -1
  812. package/dist/vue3/lib/rich-text-editor/rich-text-editor-constants.cjs.map +1 -1
  813. package/dist/vue3/lib/rich-text-editor/rich-text-editor-constants.js.map +1 -1
  814. package/dist/vue3/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  815. package/dist/vue3/lib/rich-text-editor/rich-text-editor.js +22 -22
  816. package/dist/vue3/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  817. package/dist/vue3/lib/rich-text-editor/slash-command-suggestion.cjs.map +1 -1
  818. package/dist/vue3/lib/rich-text-editor/slash-command-suggestion.js.map +1 -1
  819. package/dist/vue3/lib/root-layout/root-layout-constants.cjs.map +1 -1
  820. package/dist/vue3/lib/root-layout/root-layout-constants.js.map +1 -1
  821. package/dist/vue3/lib/root-layout/root-layout.cjs.map +1 -1
  822. package/dist/vue3/lib/root-layout/root-layout.js +3 -3
  823. package/dist/vue3/lib/root-layout/root-layout.js.map +1 -1
  824. package/dist/vue3/lib/scrollbar-directive/scrollbar.cjs.map +1 -1
  825. package/dist/vue3/lib/scrollbar-directive/scrollbar.js.map +1 -1
  826. package/dist/vue3/lib/scroller/scroller.cjs +1 -1
  827. package/dist/vue3/lib/scroller/scroller.cjs.map +1 -1
  828. package/dist/vue3/lib/scroller/scroller.js +2 -2
  829. package/dist/vue3/lib/scroller/scroller.js.map +1 -1
  830. package/dist/vue3/lib/select-menu/select-menu-constants.cjs.map +1 -1
  831. package/dist/vue3/lib/select-menu/select-menu-constants.js.map +1 -1
  832. package/dist/vue3/lib/select-menu/select-menu.cjs.map +1 -1
  833. package/dist/vue3/lib/select-menu/select-menu.js +21 -21
  834. package/dist/vue3/lib/select-menu/select-menu.js.map +1 -1
  835. package/dist/vue3/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  836. package/dist/vue3/lib/settings-menu-button/settings-menu-button.js +3 -3
  837. package/dist/vue3/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  838. package/dist/vue3/lib/skeleton/skeleton-constants.cjs.map +1 -1
  839. package/dist/vue3/lib/skeleton/skeleton-constants.js.map +1 -1
  840. package/dist/vue3/lib/skeleton/skeleton-list-item.cjs.map +1 -1
  841. package/dist/vue3/lib/skeleton/skeleton-list-item.js +2 -2
  842. package/dist/vue3/lib/skeleton/skeleton-list-item.js.map +1 -1
  843. package/dist/vue3/lib/skeleton/skeleton-paragraph.cjs.map +1 -1
  844. package/dist/vue3/lib/skeleton/skeleton-paragraph.js +1 -1
  845. package/dist/vue3/lib/skeleton/skeleton-paragraph.js.map +1 -1
  846. package/dist/vue3/lib/skeleton/skeleton-shape.cjs.map +1 -1
  847. package/dist/vue3/lib/skeleton/skeleton-shape.js +5 -5
  848. package/dist/vue3/lib/skeleton/skeleton-shape.js.map +1 -1
  849. package/dist/vue3/lib/skeleton/skeleton-text.cjs.map +1 -1
  850. package/dist/vue3/lib/skeleton/skeleton-text.js +7 -7
  851. package/dist/vue3/lib/skeleton/skeleton-text.js.map +1 -1
  852. package/dist/vue3/lib/skeleton/skeleton.cjs.map +1 -1
  853. package/dist/vue3/lib/skeleton/skeleton.js +1 -1
  854. package/dist/vue3/lib/skeleton/skeleton.js.map +1 -1
  855. package/dist/vue3/lib/split-button/split-button-alpha.cjs.map +1 -1
  856. package/dist/vue3/lib/split-button/split-button-alpha.js +2 -2
  857. package/dist/vue3/lib/split-button/split-button-alpha.js.map +1 -1
  858. package/dist/vue3/lib/split-button/split-button-constants.cjs.map +1 -1
  859. package/dist/vue3/lib/split-button/split-button-constants.js.map +1 -1
  860. package/dist/vue3/lib/split-button/split-button-omega.cjs.map +1 -1
  861. package/dist/vue3/lib/split-button/split-button-omega.js +2 -2
  862. package/dist/vue3/lib/split-button/split-button-omega.js.map +1 -1
  863. package/dist/vue3/lib/split-button/split-button.cjs.map +1 -1
  864. package/dist/vue3/lib/split-button/split-button.js +19 -19
  865. package/dist/vue3/lib/split-button/split-button.js.map +1 -1
  866. package/dist/vue3/lib/stack/stack-constants.cjs.map +1 -1
  867. package/dist/vue3/lib/stack/stack-constants.js.map +1 -1
  868. package/dist/vue3/lib/stack/stack.cjs.map +1 -1
  869. package/dist/vue3/lib/stack/stack.js +11 -11
  870. package/dist/vue3/lib/stack/stack.js.map +1 -1
  871. package/dist/vue3/lib/stack/utils.cjs.map +1 -1
  872. package/dist/vue3/lib/stack/utils.js.map +1 -1
  873. package/dist/vue3/lib/stack/validators.cjs.map +1 -1
  874. package/dist/vue3/lib/stack/validators.js +5 -5
  875. package/dist/vue3/lib/stack/validators.js.map +1 -1
  876. package/dist/vue3/lib/tab/tab-group.cjs.map +1 -1
  877. package/dist/vue3/lib/tab/tab-group.js +7 -7
  878. package/dist/vue3/lib/tab/tab-group.js.map +1 -1
  879. package/dist/vue3/lib/tab/tab-panel.cjs.map +1 -1
  880. package/dist/vue3/lib/tab/tab-panel.js +2 -2
  881. package/dist/vue3/lib/tab/tab-panel.js.map +1 -1
  882. package/dist/vue3/lib/tab/tab.cjs.map +1 -1
  883. package/dist/vue3/lib/tab/tab.js +2 -2
  884. package/dist/vue3/lib/tab/tab.js.map +1 -1
  885. package/dist/vue3/lib/time-pill/time-pill.cjs.map +1 -1
  886. package/dist/vue3/lib/time-pill/time-pill.js +2 -2
  887. package/dist/vue3/lib/time-pill/time-pill.js.map +1 -1
  888. package/dist/vue3/lib/toast/toast-constants.cjs.map +1 -1
  889. package/dist/vue3/lib/toast/toast-constants.js.map +1 -1
  890. package/dist/vue3/lib/toast/toast.cjs +1 -1
  891. package/dist/vue3/lib/toast/toast.cjs.map +1 -1
  892. package/dist/vue3/lib/toast/toast.js +91 -83
  893. package/dist/vue3/lib/toast/toast.js.map +1 -1
  894. package/dist/vue3/lib/toggle/toggle-constants.cjs.map +1 -1
  895. package/dist/vue3/lib/toggle/toggle-constants.js.map +1 -1
  896. package/dist/vue3/lib/toggle/toggle.cjs.map +1 -1
  897. package/dist/vue3/lib/toggle/toggle.js +11 -11
  898. package/dist/vue3/lib/toggle/toggle.js.map +1 -1
  899. package/dist/vue3/lib/tooltip/tooltip-constants.cjs.map +1 -1
  900. package/dist/vue3/lib/tooltip/tooltip-constants.js.map +1 -1
  901. package/dist/vue3/lib/tooltip/tooltip.cjs +1 -1
  902. package/dist/vue3/lib/tooltip/tooltip.cjs.map +1 -1
  903. package/dist/vue3/lib/tooltip/tooltip.js +20 -21
  904. package/dist/vue3/lib/tooltip/tooltip.js.map +1 -1
  905. package/dist/vue3/lib/tooltip-directive/tooltip.cjs.map +1 -1
  906. package/dist/vue3/lib/tooltip-directive/tooltip.js +1 -1
  907. package/dist/vue3/lib/tooltip-directive/tooltip.js.map +1 -1
  908. package/dist/vue3/lib/top-banner-info/top-banner-info-constants.cjs.map +1 -1
  909. package/dist/vue3/lib/top-banner-info/top-banner-info-constants.js.map +1 -1
  910. package/dist/vue3/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  911. package/dist/vue3/lib/top-banner-info/top-banner-info.js +2 -2
  912. package/dist/vue3/lib/top-banner-info/top-banner-info.js.map +1 -1
  913. package/dist/vue3/lib/unread-pill/unread-pill-constants.cjs.map +1 -1
  914. package/dist/vue3/lib/unread-pill/unread-pill-constants.js.map +1 -1
  915. package/dist/vue3/lib/unread-pill/unread-pill.cjs.map +1 -1
  916. package/dist/vue3/lib/unread-pill/unread-pill.js +7 -7
  917. package/dist/vue3/lib/unread-pill/unread-pill.js.map +1 -1
  918. package/dist/vue3/lib/validation-messages/validation-messages.cjs.map +1 -1
  919. package/dist/vue3/lib/validation-messages/validation-messages.js +9 -9
  920. package/dist/vue3/lib/validation-messages/validation-messages.js.map +1 -1
  921. package/dist/vue3/localization/de-DE.cjs.map +1 -1
  922. package/dist/vue3/localization/de-DE.js.map +1 -1
  923. package/dist/vue3/localization/en-US.cjs +1 -1
  924. package/dist/vue3/localization/en-US.cjs.map +1 -1
  925. package/dist/vue3/localization/en-US.js +1 -1
  926. package/dist/vue3/localization/en-US.js.map +1 -1
  927. package/dist/vue3/localization/es-LA.cjs.map +1 -1
  928. package/dist/vue3/localization/es-LA.js.map +1 -1
  929. package/dist/vue3/localization/fr-FR.cjs.map +1 -1
  930. package/dist/vue3/localization/fr-FR.js.map +1 -1
  931. package/dist/vue3/localization/index.cjs.map +1 -1
  932. package/dist/vue3/localization/index.js.map +1 -1
  933. package/dist/vue3/localization/it-IT.cjs.map +1 -1
  934. package/dist/vue3/localization/it-IT.js.map +1 -1
  935. package/dist/vue3/localization/ja-JP.cjs.map +1 -1
  936. package/dist/vue3/localization/ja-JP.js.map +1 -1
  937. package/dist/vue3/localization/nl-NL.cjs.map +1 -1
  938. package/dist/vue3/localization/nl-NL.js.map +1 -1
  939. package/dist/vue3/localization/pt-BR.cjs.map +1 -1
  940. package/dist/vue3/localization/pt-BR.js.map +1 -1
  941. package/dist/vue3/localization/ru-RU.cjs.map +1 -1
  942. package/dist/vue3/localization/ru-RU.js.map +1 -1
  943. package/dist/vue3/localization/zh-CN.cjs.map +1 -1
  944. package/dist/vue3/localization/zh-CN.js.map +1 -1
  945. package/dist/vue3/node_modules/@tiptap/vue-3.cjs.map +1 -1
  946. package/dist/vue3/node_modules/@tiptap/vue-3.js +3 -3
  947. package/dist/vue3/node_modules/@tiptap/vue-3.js.map +1 -1
  948. package/dist/vue3/shared/sr_only_close_button.cjs.map +1 -1
  949. package/dist/vue3/shared/sr_only_close_button.js +2 -2
  950. package/dist/vue3/shared/sr_only_close_button.js.map +1 -1
  951. package/dist/vue3/types/common/constants/index.d.ts.map +1 -1
  952. package/dist/vue3/types/common/dates/index.d.ts.map +1 -1
  953. package/dist/vue3/types/common/emoji/index.d.ts +1 -0
  954. package/dist/vue3/types/common/emoji/index.d.ts.map +1 -1
  955. package/dist/vue3/types/common/mixins/dom.d.ts.map +1 -1
  956. package/dist/vue3/types/common/mixins/input.d.ts +6 -6
  957. package/dist/vue3/types/common/mixins/input.d.ts.map +1 -1
  958. package/dist/vue3/types/common/mixins/input_group.d.ts +2 -2
  959. package/dist/vue3/types/common/mixins/modal.d.ts.map +1 -1
  960. package/dist/vue3/types/common/utils/index.d.ts.map +1 -1
  961. package/dist/vue3/types/components/avatar/avatar.vue.d.ts +12 -12
  962. package/dist/vue3/types/components/badge/badge.vue.d.ts +4 -4
  963. package/dist/vue3/types/components/banner/banner.vue.d.ts +1 -1
  964. package/dist/vue3/types/components/banner/banner.vue.d.ts.map +1 -1
  965. package/dist/vue3/types/components/breadcrumbs/breadcrumbs_constants.d.ts.map +1 -1
  966. package/dist/vue3/types/components/button/button.vue.d.ts +3 -3
  967. package/dist/vue3/types/components/button/button_constants.d.ts.map +1 -1
  968. package/dist/vue3/types/components/card/card.vue.d.ts +12 -12
  969. package/dist/vue3/types/components/checkbox/checkbox.vue.d.ts +6 -6
  970. package/dist/vue3/types/components/checkbox_group/checkbox_group.vue.d.ts +2 -2
  971. package/dist/vue3/types/components/chip/chip.vue.d.ts +6 -6
  972. package/dist/vue3/types/components/collapsible/collapsible.vue.d.ts +6 -6
  973. package/dist/vue3/types/components/combobox/combobox.vue.d.ts +4 -4
  974. package/dist/vue3/types/components/combobox/combobox_empty-list.vue.d.ts +3 -3
  975. package/dist/vue3/types/components/datepicker/datepicker_constants.d.ts.map +1 -1
  976. package/dist/vue3/types/components/datepicker/formatUtils.d.ts +5 -5
  977. package/dist/vue3/types/components/datepicker/formatUtils.d.ts.map +1 -1
  978. package/dist/vue3/types/components/datepicker/modules/calendar.vue.d.ts +1 -1
  979. package/dist/vue3/types/components/datepicker/modules/month-year-picker.vue.d.ts +1 -1
  980. package/dist/vue3/types/components/description_list/description_list.vue.d.ts +6 -6
  981. package/dist/vue3/types/components/dropdown/dropdown.vue.d.ts +10 -10
  982. package/dist/vue3/types/components/emoji/emoji.vue.d.ts +3 -3
  983. package/dist/vue3/types/components/emoji_picker/emoji_picker_constants.d.ts.map +1 -1
  984. package/dist/vue3/types/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
  985. package/dist/vue3/types/components/emoji_picker/modules/emoji_selector.vue.d.ts.map +1 -1
  986. package/dist/vue3/types/components/emoji_picker/modules/emoji_skin_selector.vue.d.ts.map +1 -1
  987. package/dist/vue3/types/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
  988. package/dist/vue3/types/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
  989. package/dist/vue3/types/components/empty_state/empty_state.vue.d.ts +7 -11
  990. package/dist/vue3/types/components/empty_state/empty_state.vue.d.ts.map +1 -1
  991. package/dist/vue3/types/components/hovercard/hovercard.vue.d.ts +686 -11
  992. package/dist/vue3/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
  993. package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  994. package/dist/vue3/types/components/input/input.vue.d.ts +8 -8
  995. package/dist/vue3/types/components/input_group/input_group.vue.d.ts +2 -2
  996. package/dist/vue3/types/components/item_layout/item_layout.vue.d.ts +1 -1
  997. package/dist/vue3/types/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +7 -210
  998. package/dist/vue3/types/components/lazy_show/lazy_show.vue.d.ts +1 -1
  999. package/dist/vue3/types/components/link/link_constants.d.ts.map +1 -1
  1000. package/dist/vue3/types/components/list_item/list_item.vue.d.ts +3 -3
  1001. package/dist/vue3/types/components/list_item_group/list_item_group.vue.d.ts +6 -6
  1002. package/dist/vue3/types/components/modal/modal.vue.d.ts +16 -16
  1003. package/dist/vue3/types/components/modal/modal.vue.d.ts.map +1 -1
  1004. package/dist/vue3/types/components/notice/notice.vue.d.ts +1 -1
  1005. package/dist/vue3/types/components/notice/notice_icon.vue.d.ts +1 -30
  1006. package/dist/vue3/types/components/notice/notice_icon.vue.d.ts.map +1 -1
  1007. package/dist/vue3/types/components/popover/popover.vue.d.ts +24 -24
  1008. package/dist/vue3/types/components/popover/popover.vue.d.ts.map +1 -1
  1009. package/dist/vue3/types/components/popover/popover_header_footer.vue.d.ts +3 -3
  1010. package/dist/vue3/types/components/popover/tippy_utils.d.ts +1 -1
  1011. package/dist/vue3/types/components/radio/radio.vue.d.ts +6 -6
  1012. package/dist/vue3/types/components/radio_group/radio_group.vue.d.ts +2 -2
  1013. package/dist/vue3/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +22 -22
  1014. package/dist/vue3/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +22 -22
  1015. package/dist/vue3/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +22 -22
  1016. package/dist/vue3/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts +22 -22
  1017. package/dist/vue3/types/components/rich_text_editor/extensions/slash_command/slash_command.d.ts +1 -1
  1018. package/dist/vue3/types/components/rich_text_editor/extensions/slash_command/slash_command.d.ts.map +1 -1
  1019. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +6 -6
  1020. package/dist/vue3/types/components/root_layout/root_layout.vue.d.ts +15 -15
  1021. package/dist/vue3/types/components/scroller/modules/core_scroller.vue.d.ts +26 -16
  1022. package/dist/vue3/types/components/scroller/modules/core_scroller.vue.d.ts.map +1 -1
  1023. package/dist/vue3/types/components/scroller/modules/scroller_item.vue.d.ts +1 -1
  1024. package/dist/vue3/types/components/scroller/scroller.vue.d.ts +245 -12
  1025. package/dist/vue3/types/components/scroller/scroller.vue.d.ts.map +1 -1
  1026. package/dist/vue3/types/components/select_menu/select_menu.vue.d.ts +13 -13
  1027. package/dist/vue3/types/components/skeleton/skeleton-list-item.vue.d.ts +1 -1
  1028. package/dist/vue3/types/components/skeleton/skeleton-paragraph.vue.d.ts +3 -3
  1029. package/dist/vue3/types/components/skeleton/skeleton-shape.vue.d.ts +4 -4
  1030. package/dist/vue3/types/components/skeleton/skeleton-text.vue.d.ts +1 -1
  1031. package/dist/vue3/types/components/skeleton/skeleton.vue.d.ts +1 -1
  1032. package/dist/vue3/types/components/skeleton/skeleton_constants.d.ts.map +1 -1
  1033. package/dist/vue3/types/components/split_button/split_button-alpha.vue.d.ts +3 -3
  1034. package/dist/vue3/types/components/split_button/split_button.vue.d.ts +3 -3
  1035. package/dist/vue3/types/components/tab/tab.vue.d.ts +3 -3
  1036. package/dist/vue3/types/components/tab/tab_group.vue.d.ts +3 -3
  1037. package/dist/vue3/types/components/tab/tab_panel.vue.d.ts +3 -3
  1038. package/dist/vue3/types/components/tab/tab_panel.vue.d.ts.map +1 -1
  1039. package/dist/vue3/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +4 -1
  1040. package/dist/vue3/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  1041. package/dist/vue3/types/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts +1 -30
  1042. package/dist/vue3/types/components/toast/layouts/toast_layout_default.vue.d.ts +4 -1
  1043. package/dist/vue3/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  1044. package/dist/vue3/types/components/toast/toast.vue.d.ts +10 -4
  1045. package/dist/vue3/types/components/toast/toast_constants.d.ts.map +1 -1
  1046. package/dist/vue3/types/components/toggle/toggle.vue.d.ts +7 -7
  1047. package/dist/vue3/types/components/tooltip/tooltip.vue.d.ts +10 -10
  1048. package/dist/vue3/types/components/tooltip/tooltip_constants.d.ts.map +1 -1
  1049. package/dist/vue3/types/components/validation_messages/validation_messages.vue.d.ts +0 -1
  1050. package/dist/vue3/types/components/validation_messages/validation_messages.vue.d.ts.map +1 -1
  1051. package/dist/vue3/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +7 -7
  1052. package/dist/vue3/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +7 -7
  1053. package/dist/vue3/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +9 -9
  1054. package/dist/vue3/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +1 -30
  1055. package/dist/vue3/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  1056. package/dist/vue3/types/recipes/cards/ivr_node/ivr_node_constants.d.ts.map +1 -1
  1057. package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +9 -9
  1058. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +9 -241
  1059. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  1060. package/dist/vue3/types/recipes/conversation_view/editor/editor_constants.d.ts.map +1 -1
  1061. package/dist/vue3/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  1062. package/dist/vue3/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +7 -36
  1063. package/dist/vue3/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  1064. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  1065. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  1066. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row_constants.d.ts.map +1 -1
  1067. package/dist/vue3/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +22 -22
  1068. package/dist/vue3/types/recipes/conversation_view/message_input/last_active_nodes.d.ts.map +1 -1
  1069. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts +7 -7
  1070. package/dist/vue3/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +1 -1
  1071. package/dist/vue3/types/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts +1 -30
  1072. package/package.json +3 -3
  1073. package/dist/vue2/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +0 -47
  1074. package/dist/vue2/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +0 -1
  1075. package/dist/vue2/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +0 -45
  1076. package/dist/vue2/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts.map +0 -1
  1077. package/dist/vue2/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +0 -47
  1078. package/dist/vue2/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts.map +0 -1
  1079. package/dist/vue2/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts +0 -47
  1080. package/dist/vue2/types/components/rich_text_editor/extensions/slash_command/SlashCommandComponent.vue.d.ts.map +0 -1
  1081. package/dist/vue2/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +0 -52
  1082. package/dist/vue2/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("@dialpad/dialtone-icons/vue3"),h=require("../../localization/index.cjs"),e=require("vue"),d=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),f=require("../image-viewer/image-viewer.cjs"),p=require("../button/button.cjs"),g={compatConfig:{MODE:3},name:"DtProgressBar",props:{ariaLabel:{type:String,required:!0},progress:{type:Number,default:20}},data:()=>({circleCircumference:50}),computed:{cssVars(){return{"--stroke-dashoffset":this.circleCircumference-this.circleCircumference*this.progress/100,"--stroke-dasharray":this.circleCircumference}}},mounted(){this.circleCircumference=this.$refs.progressbarCircle.getTotalLength()}},w=["aria-label","aria-valuenow"],A={ref:"progressbarCircle",r:"8",cx:"12",cy:"12",class:"d-recipe-attachment-carousel__progress-bar-circle"},C=e.createElementVNode("circle",{r:"8",cx:"12",cy:"12",class:"d-recipe-attachment-carousel__progress-bar-circle"},null,-1);function b(t,c,o,_,a,r){return e.openBlock(),e.createElementBlock("div",{role:"progressbar","aria-label":o.ariaLabel,tabindex:"-1","aria-valuenow":o.progress,"aria-valuemin":"0","aria-valuemax":"100"},[(e.openBlock(),e.createElementBlock("svg",{class:"d-recipe-attachment-carousel__progress-bar",style:e.normalizeStyle(r.cssVars)},[e.createElementVNode("circle",A,null,512),C],4))],8,w)}const v=d._(g,[["render",b]]),L={compatConfig:{MODE:3},name:"DtImageCarousel",components:{DtImageViewer:f.default,DtButton:p.default,DtIconClose:u.DtIconClose,DtProgressBar:v},props:{mediaItem:{type:Object,required:!0},index:{type:Number,required:!0}},emits:["remove-media"],data(){return{i18n:new h.DialtoneLocalization}},computed:{closeButtonTitle(){return this.i18n.$t("DIALTONE_CLOSE_BUTTON")}},methods:{removeMediaItem(t){this.$emit("remove-media",t)}}},E={class:"d-recipe-attachment-carousel__image"},I={class:"d-recipe-attachment-carousel__image-top-right"};function B(t,c,o,_,a,r){const n=e.resolveComponent("dt-image-viewer"),s=e.resolveComponent("dt-progress-bar"),m=e.resolveComponent("dt-icon-close"),i=e.resolveComponent("dt-button");return e.openBlock(),e.createElementBlock("li",E,[e.createVNode(n,{"image-button-class":"d-recipe-attachment-carousel__image-viewer","image-src":o.mediaItem.path,"image-alt":o.mediaItem.altText,"aria-label":a.i18n.$t("DIALTONE_IMAGE_CAROUSEL_CLICK_TO_OPEN_ARIA_LABEL")},null,8,["image-src","image-alt","aria-label"]),e.createElementVNode("div",I,[o.mediaItem.isUploading?(e.openBlock(),e.createBlock(s,{key:0,class:"d-recipe-attachment-carousel__image-progress-bar",progress:o.mediaItem.progress,"aria-label":a.i18n.$t("DIALTONE_IMAGE_CAROUSEL_PROGRESS_BAR_ARIA_LABEL")},null,8,["progress","aria-label"])):e.createCommentVNode("",!0),e.createVNode(i,{id:`closeButton-${o.index}`,tabindex:"0",class:"d-recipe-attachment-carousel__image-close-button",circle:"",size:"xs",importance:"clear","aria-label":r.closeButtonTitle,title:r.closeButtonTitle,onClick:c[0]||(c[0]=l=>r.removeMediaItem(o.index))},{icon:e.withCtx(()=>[e.createVNode(m,{size:"200"})]),_:1},8,["id","aria-label","title"])])])}const D=d._(L,[["render",B]]),T=64,k={compatConfig:{MODE:3},name:"DtRecipeAttachmentCarousel",components:{DtButton:p.default,DtIconArrowRight:u.DtIconArrowRight,DtIconArrowLeft:u.DtIconArrowLeft,DtImageCarousel:D},props:{mediaList:{type:Array,default:()=>[]}},emits:["remove-media"],data(){return{showCloseButton:{},showRightArrow:!0,showLeftArrow:!1,isMounted:!1,i18n:new h.DialtoneLocalization}},computed:{filteredMediaList(){return this.mediaList.filter(t=>t.type==="image"||t.type==="video")}},mounted:function(){this.showLeftArrow=this.$refs.carousel.scrollLeft>0,this.showRightArrow=this.$refs.carousel.scrollWidth>this.$refs.carousel.clientWidth},methods:{onItemFocus(t){t.currentTarget.scrollIntoView({behavior:"smooth"})},mediaComponent(t){switch(t){case"image":return"dt-image-carousel";default:return null}},removeMediaItem(t){this.showRightArrow=this.$refs.carousel.scrollWidth>this.$refs.carousel.clientWidth+T,this.$emit("remove-media",t)},closeButton(t,c){this.showCloseButton[c]=t},handleScroll(){const t=this.$refs.carousel;this.showLeftArrow=t.scrollLeft>0,this.showRightArrow=t.scrollLeft+t.clientWidth!==t.scrollWidth},leftScroll(){this.$refs.carousel.scrollTo({left:this.$refs.carousel.scrollLeft-100,behavior:"smooth"})},rightScroll(){this.$refs.carousel.scrollTo({left:this.$refs.carousel.scrollLeft+100,behavior:"smooth"})}}},R={class:"d-recipe-attachment-carousel",role:"presentation"};function N(t,c,o,_,a,r){const n=e.resolveComponent("dt-icon-arrow-left"),s=e.resolveComponent("dt-button"),m=e.resolveComponent("dt-icon-arrow-right");return e.openBlock(),e.createElementBlock("div",R,[o.mediaList.length>0?(e.openBlock(),e.createElementBlock("ul",{key:0,ref:"carousel",class:"d-recipe-attachment-carousel__media-list",onScroll:c[0]||(c[0]=(...i)=>r.handleScroll&&r.handleScroll(...i))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.filteredMediaList,(i,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.mediaComponent(i.type)),{key:`media-${l}`,index:l,"media-item":i,onRemoveMedia:O=>r.removeMediaItem(l),onFocusin:r.onItemFocus},null,40,["index","media-item","onRemoveMedia","onFocusin"]))),128))],544)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(s,{tabindex:"-1","aria-label":a.i18n.$t("DIALTONE_ATTACHMENT_CAROUSEL_LEFT_ARROW_ARIA_LABEL"),class:"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--left",circle:"",size:"xs",importance:"clear",onClick:r.leftScroll},{icon:e.withCtx(()=>[e.createVNode(n,{size:"100"})]),_:1},8,["aria-label","onClick"]),[[e.vShow,a.showLeftArrow]]),e.withDirectives(e.createVNode(s,{tabindex:"-1","aria-label":a.i18n.$t("DIALTONE_ATTACHMENT_CAROUSEL_RIGHT_ARROW_ARIA_LABEL"),class:"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--right",circle:"",size:"xs",importance:"clear",onClick:r.rightScroll},{icon:e.withCtx(()=>[e.createVNode(m,{size:"100"})]),_:1},8,["aria-label","onClick"]),[[e.vShow,a.showRightArrow]])])}const x=d._(k,[["render",N]]);exports.default=x;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("@dialpad/dialtone-icons/vue3"),h=require("../../localization/index.cjs"),e=require("vue"),d=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),p=require("../button/button.cjs"),f=require("../image-viewer/image-viewer.cjs"),g={compatConfig:{MODE:3},name:"DtProgressBar",props:{ariaLabel:{type:String,required:!0},progress:{type:Number,default:20}},data:()=>({circleCircumference:50}),computed:{cssVars(){return{"--stroke-dashoffset":this.circleCircumference-this.circleCircumference*this.progress/100,"--stroke-dasharray":this.circleCircumference}}},mounted(){this.circleCircumference=this.$refs.progressbarCircle.getTotalLength()}},w=["aria-label","aria-valuenow"],A={ref:"progressbarCircle",r:"8",cx:"12",cy:"12",class:"d-recipe-attachment-carousel__progress-bar-circle"},C=e.createElementVNode("circle",{r:"8",cx:"12",cy:"12",class:"d-recipe-attachment-carousel__progress-bar-circle"},null,-1);function b(t,c,o,_,a,r){return e.openBlock(),e.createElementBlock("div",{role:"progressbar","aria-label":o.ariaLabel,tabindex:"-1","aria-valuenow":o.progress,"aria-valuemin":"0","aria-valuemax":"100"},[(e.openBlock(),e.createElementBlock("svg",{class:"d-recipe-attachment-carousel__progress-bar",style:e.normalizeStyle(r.cssVars)},[e.createElementVNode("circle",A,null,512),C],4))],8,w)}const v=d._(g,[["render",b]]),L={compatConfig:{MODE:3},name:"DtImageCarousel",components:{DtImageViewer:f.default,DtButton:p.default,DtIconClose:u.DtIconClose,DtProgressBar:v},props:{mediaItem:{type:Object,required:!0},index:{type:Number,required:!0}},emits:["remove-media"],data(){return{i18n:new h.DialtoneLocalization}},computed:{closeButtonTitle(){return this.i18n.$t("DIALTONE_CLOSE_BUTTON")}},methods:{removeMediaItem(t){this.$emit("remove-media",t)}}},E={class:"d-recipe-attachment-carousel__image"},I={class:"d-recipe-attachment-carousel__image-top-right"};function B(t,c,o,_,a,r){const n=e.resolveComponent("dt-image-viewer"),s=e.resolveComponent("dt-progress-bar"),m=e.resolveComponent("dt-icon-close"),i=e.resolveComponent("dt-button");return e.openBlock(),e.createElementBlock("li",E,[e.createVNode(n,{"image-button-class":"d-recipe-attachment-carousel__image-viewer","image-src":o.mediaItem.path,"image-alt":o.mediaItem.altText,"aria-label":a.i18n.$t("DIALTONE_IMAGE_CAROUSEL_CLICK_TO_OPEN_ARIA_LABEL")},null,8,["image-src","image-alt","aria-label"]),e.createElementVNode("div",I,[o.mediaItem.isUploading?(e.openBlock(),e.createBlock(s,{key:0,class:"d-recipe-attachment-carousel__image-progress-bar",progress:o.mediaItem.progress,"aria-label":a.i18n.$t("DIALTONE_IMAGE_CAROUSEL_PROGRESS_BAR_ARIA_LABEL")},null,8,["progress","aria-label"])):e.createCommentVNode("",!0),e.createVNode(i,{id:`closeButton-${o.index}`,tabindex:"0",class:"d-recipe-attachment-carousel__image-close-button",circle:"",size:"xs",importance:"clear","aria-label":r.closeButtonTitle,title:r.closeButtonTitle,onClick:c[0]||(c[0]=l=>r.removeMediaItem(o.index))},{icon:e.withCtx(()=>[e.createVNode(m,{size:"200"})]),_:1},8,["id","aria-label","title"])])])}const D=d._(L,[["render",B]]),T=64,k={compatConfig:{MODE:3},name:"DtRecipeAttachmentCarousel",components:{DtButton:p.default,DtIconArrowRight:u.DtIconArrowRight,DtIconArrowLeft:u.DtIconArrowLeft,DtImageCarousel:D},props:{mediaList:{type:Array,default:()=>[]}},emits:["remove-media"],data(){return{showCloseButton:{},showRightArrow:!0,showLeftArrow:!1,isMounted:!1,i18n:new h.DialtoneLocalization}},computed:{filteredMediaList(){return this.mediaList.filter(t=>t.type==="image"||t.type==="video")}},mounted:function(){this.showLeftArrow=this.$refs.carousel.scrollLeft>0,this.showRightArrow=this.$refs.carousel.scrollWidth>this.$refs.carousel.clientWidth},methods:{onItemFocus(t){t.currentTarget.scrollIntoView({behavior:"smooth"})},mediaComponent(t){switch(t){case"image":return"dt-image-carousel";default:return null}},removeMediaItem(t){this.showRightArrow=this.$refs.carousel.scrollWidth>this.$refs.carousel.clientWidth+T,this.$emit("remove-media",t)},closeButton(t,c){this.showCloseButton[c]=t},handleScroll(){const t=this.$refs.carousel;this.showLeftArrow=t.scrollLeft>0,this.showRightArrow=t.scrollLeft+t.clientWidth!==t.scrollWidth},leftScroll(){this.$refs.carousel.scrollTo({left:this.$refs.carousel.scrollLeft-100,behavior:"smooth"})},rightScroll(){this.$refs.carousel.scrollTo({left:this.$refs.carousel.scrollLeft+100,behavior:"smooth"})}}},R={class:"d-recipe-attachment-carousel",role:"presentation"};function N(t,c,o,_,a,r){const n=e.resolveComponent("dt-icon-arrow-left"),s=e.resolveComponent("dt-button"),m=e.resolveComponent("dt-icon-arrow-right");return e.openBlock(),e.createElementBlock("div",R,[o.mediaList.length>0?(e.openBlock(),e.createElementBlock("ul",{key:0,ref:"carousel",class:"d-recipe-attachment-carousel__media-list",onScroll:c[0]||(c[0]=(...i)=>r.handleScroll&&r.handleScroll(...i))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.filteredMediaList,(i,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.mediaComponent(i.type)),{key:`media-${l}`,index:l,"media-item":i,onRemoveMedia:O=>r.removeMediaItem(l),onFocusin:r.onItemFocus},null,40,["index","media-item","onRemoveMedia","onFocusin"]))),128))],544)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(s,{tabindex:"-1","aria-label":a.i18n.$t("DIALTONE_ATTACHMENT_CAROUSEL_LEFT_ARROW_ARIA_LABEL"),class:"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--left",circle:"",size:"xs",importance:"clear",onClick:r.leftScroll},{icon:e.withCtx(()=>[e.createVNode(n,{size:"100"})]),_:1},8,["aria-label","onClick"]),[[e.vShow,a.showLeftArrow]]),e.withDirectives(e.createVNode(s,{tabindex:"-1","aria-label":a.i18n.$t("DIALTONE_ATTACHMENT_CAROUSEL_RIGHT_ARROW_ARIA_LABEL"),class:"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--right",circle:"",size:"xs",importance:"clear",onClick:r.rightScroll},{icon:e.withCtx(()=>[e.createVNode(m,{size:"100"})]),_:1},8,["aria-label","onClick"]),[[e.vShow,a.showRightArrow]])])}const x=d._(k,[["render",N]]);exports.default=x;
2
2
  //# sourceMappingURL=attachment-carousel.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-carousel.cjs","sources":["../../../recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue","../../../recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue","../../../recipes/conversation_view/attachment_carousel/attachment_carousel.vue"],"sourcesContent":["<script>\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtProgressBar',\n props: {\n ariaLabel: {\n type: String,\n required: true,\n },\n\n progress: {\n type: Number,\n default: 20,\n },\n },\n\n data: () => ({\n circleCircumference: 50,\n }),\n\n computed: {\n cssVars () {\n return {\n '--stroke-dashoffset':\n (this.circleCircumference - (this.circleCircumference * this.progress / 100)),\n\n '--stroke-dasharray': this.circleCircumference,\n };\n },\n },\n\n mounted () {\n this.circleCircumference = this.$refs.progressbarCircle.getTotalLength();\n },\n};\n</script>\n\n<template>\n <div\n role=\"progressbar\"\n :aria-label=\"ariaLabel\"\n tabindex=\"-1\"\n :aria-valuenow=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <svg\n class=\"d-recipe-attachment-carousel__progress-bar\"\n :style=\"cssVars\"\n >\n <circle\n ref=\"progressbarCircle\"\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"d-recipe-attachment-carousel__progress-bar-circle\"\n />\n <circle\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"d-recipe-attachment-carousel__progress-bar-circle\"\n />\n </svg>\n </div>\n</template>\n","<template>\n <li\n class=\"d-recipe-attachment-carousel__image\"\n >\n <dt-image-viewer\n image-button-class=\"d-recipe-attachment-carousel__image-viewer\"\n :image-src=\"mediaItem.path\"\n :image-alt=\"mediaItem.altText\"\n :aria-label=\"i18n.$t('DIALTONE_IMAGE_CAROUSEL_CLICK_TO_OPEN_ARIA_LABEL')\"\n />\n\n <!-- Loader / Close button -->\n <div\n class=\"d-recipe-attachment-carousel__image-top-right\"\n >\n <dt-progress-bar\n v-if=\"mediaItem.isUploading\"\n class=\"d-recipe-attachment-carousel__image-progress-bar\"\n :progress=\"mediaItem.progress\"\n :aria-label=\"i18n.$t('DIALTONE_IMAGE_CAROUSEL_PROGRESS_BAR_ARIA_LABEL')\"\n />\n <dt-button\n :id=\"`closeButton-${index}`\"\n tabindex=\"0\"\n class=\"d-recipe-attachment-carousel__image-close-button\"\n circle\n size=\"xs\"\n importance=\"clear\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"removeMediaItem(index)\"\n >\n <template #icon>\n <dt-icon-close\n size=\"200\"\n />\n </template>\n </dt-button>\n </div>\n </li>\n</template>\n\n<script>\nimport { DtImageViewer } from '@/components/image_viewer';\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\nimport DtProgressBar from './progress_bar.vue';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtImageCarousel',\n\n components: {\n DtImageViewer,\n DtButton,\n DtIconClose,\n DtProgressBar,\n },\n\n props: {\n mediaItem: {\n type: Object,\n required: true,\n },\n\n index: {\n type: Number,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when media close button is clicked to remove the image\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n removeMediaItem (index) {\n this.$emit('remove-media', index);\n },\n },\n};\n</script>\n","<template>\n <div\n class=\"d-recipe-attachment-carousel\"\n role=\"presentation\"\n >\n <ul\n v-if=\"mediaList.length > 0\"\n ref=\"carousel\"\n class=\"d-recipe-attachment-carousel__media-list\"\n @scroll=\"handleScroll\"\n >\n <!-- media list -->\n <component\n :is=\"mediaComponent(mediaItem.type)\"\n v-for=\"(mediaItem, index) in filteredMediaList\"\n :key=\"`media-${index}`\"\n :index=\"index\"\n :media-item=\"mediaItem\"\n @remove-media=\"removeMediaItem(index)\"\n @focusin=\"onItemFocus\"\n />\n </ul>\n\n <!-- Carousel Arrows -->\n <dt-button\n v-show=\"showLeftArrow\"\n tabindex=\"-1\"\n :aria-label=\"i18n.$t('DIALTONE_ATTACHMENT_CAROUSEL_LEFT_ARROW_ARIA_LABEL')\"\n class=\"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--left\"\n circle\n size=\"xs\"\n importance=\"clear\"\n @click=\"leftScroll\"\n >\n <template #icon>\n <dt-icon-arrow-left\n size=\"100\"\n />\n </template>\n </dt-button>\n <dt-button\n v-show=\"showRightArrow\"\n tabindex=\"-1\"\n :aria-label=\"i18n.$t('DIALTONE_ATTACHMENT_CAROUSEL_RIGHT_ARROW_ARIA_LABEL')\"\n class=\"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--right\"\n circle\n size=\"xs\"\n importance=\"clear\"\n @click=\"rightScroll\"\n >\n <template #icon>\n <dt-icon-arrow-right\n size=\"100\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtIconArrowRight, DtIconArrowLeft } from '@dialpad/dialtone-icons/vue3';\nimport { DtButton } from '@/components/button';\nimport { DialtoneLocalization } from '@/localization';\n\nimport DtImageCarousel from './media_components/image_carousel.vue';\n\nconst MEDIA_ITEM_WIDTH = 64;\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeAttachmentCarousel',\n\n components: {\n DtButton,\n DtIconArrowRight,\n DtIconArrowLeft,\n DtImageCarousel,\n },\n\n /* inheritAttrs: false is generally an option we want to set on library\n components. This allows any attributes passed in that are not recognized\n as props to be passed down to another element or component using v-bind:$attrs\n more info: https://vuejs.org/v2/api/#inheritAttrs */\n // inheritAttrs: false,\n\n props: {\n /**\n * media - object array of media objects\n * @type {Array}\n *\n * Object: {\n * path: String,\n * altText: String | null,\n * }\n */\n mediaList: {\n type: Array,\n default: () => [],\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n data () {\n return {\n showCloseButton: {},\n showRightArrow: true,\n showLeftArrow: false,\n isMounted: false,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n filteredMediaList () {\n return this.mediaList.filter((mediaItem) => mediaItem.type === 'image' || mediaItem.type === 'video');\n },\n },\n\n mounted: function () {\n this.showLeftArrow = this.$refs.carousel.scrollLeft > 0;\n this.showRightArrow = this.$refs.carousel.scrollWidth > this.$refs.carousel.clientWidth;\n },\n\n methods: {\n onItemFocus (e) {\n e.currentTarget.scrollIntoView({ behavior: 'smooth' });\n },\n\n mediaComponent (type) {\n switch (type) {\n case 'image':\n return 'dt-image-carousel';\n default:\n // unknown media type\n return null;\n }\n },\n\n removeMediaItem (index) {\n // make sure the carousel arrows is updated. 64 is the width of each media item\n this.showRightArrow = this.$refs.carousel.scrollWidth > (this.$refs.carousel.clientWidth + MEDIA_ITEM_WIDTH);\n this.$emit('remove-media', index);\n },\n\n closeButton (val, index) {\n this.showCloseButton[index] = val;\n },\n\n handleScroll () {\n const carousel = this.$refs.carousel;\n this.showLeftArrow = carousel.scrollLeft > 0;\n this.showRightArrow = !((carousel.scrollLeft + carousel.clientWidth) === carousel.scrollWidth);\n },\n\n leftScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft - 100,\n behavior: 'smooth',\n });\n },\n\n rightScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft + 100,\n behavior: 'smooth',\n });\n },\n },\n};\n</script>\n"],"names":["_sfc_main","_hoisted_1","_createElementVNode","_createElementBlock","$props","_normalizeStyle","$options","_hoisted_2","_hoisted_3","DtImageViewer","DtButton","DtIconClose","DtProgressBar","DialtoneLocalization","index","_openBlock","_createVNode","_component_dt_image_viewer","$data","_createBlock","_component_dt_progress_bar","_createCommentVNode","_component_dt_button","_cache","$event","_component_dt_icon_close","MEDIA_ITEM_WIDTH","DtIconArrowRight","DtIconArrowLeft","DtImageCarousel","mediaItem","e","type","val","carousel","args","_Fragment","_renderList","_resolveDynamicComponent","_component_dt_icon_arrow_left","_component_dt_icon_arrow_right"],"mappings":"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"}
1
+ {"version":3,"file":"attachment-carousel.cjs","sources":["../../../recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue","../../../recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue","../../../recipes/conversation_view/attachment_carousel/attachment_carousel.vue"],"sourcesContent":["<script>\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtProgressBar',\n props: {\n ariaLabel: {\n type: String,\n required: true,\n },\n\n progress: {\n type: Number,\n default: 20,\n },\n },\n\n data: () => ({\n circleCircumference: 50,\n }),\n\n computed: {\n cssVars () {\n return {\n '--stroke-dashoffset':\n (this.circleCircumference - (this.circleCircumference * this.progress / 100)),\n\n '--stroke-dasharray': this.circleCircumference,\n };\n },\n },\n\n mounted () {\n this.circleCircumference = this.$refs.progressbarCircle.getTotalLength();\n },\n};\n</script>\n\n<template>\n <div\n role=\"progressbar\"\n :aria-label=\"ariaLabel\"\n tabindex=\"-1\"\n :aria-valuenow=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <svg\n class=\"d-recipe-attachment-carousel__progress-bar\"\n :style=\"cssVars\"\n >\n <circle\n ref=\"progressbarCircle\"\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"d-recipe-attachment-carousel__progress-bar-circle\"\n />\n <circle\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"d-recipe-attachment-carousel__progress-bar-circle\"\n />\n </svg>\n </div>\n</template>\n","<template>\n <li\n class=\"d-recipe-attachment-carousel__image\"\n >\n <dt-image-viewer\n image-button-class=\"d-recipe-attachment-carousel__image-viewer\"\n :image-src=\"mediaItem.path\"\n :image-alt=\"mediaItem.altText\"\n :aria-label=\"i18n.$t('DIALTONE_IMAGE_CAROUSEL_CLICK_TO_OPEN_ARIA_LABEL')\"\n />\n\n <!-- Loader / Close button -->\n <div\n class=\"d-recipe-attachment-carousel__image-top-right\"\n >\n <dt-progress-bar\n v-if=\"mediaItem.isUploading\"\n class=\"d-recipe-attachment-carousel__image-progress-bar\"\n :progress=\"mediaItem.progress\"\n :aria-label=\"i18n.$t('DIALTONE_IMAGE_CAROUSEL_PROGRESS_BAR_ARIA_LABEL')\"\n />\n <dt-button\n :id=\"`closeButton-${index}`\"\n tabindex=\"0\"\n class=\"d-recipe-attachment-carousel__image-close-button\"\n circle\n size=\"xs\"\n importance=\"clear\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"removeMediaItem(index)\"\n >\n <template #icon>\n <dt-icon-close\n size=\"200\"\n />\n </template>\n </dt-button>\n </div>\n </li>\n</template>\n\n<script>\nimport { DtImageViewer } from '@/components/image_viewer';\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\nimport DtProgressBar from './progress_bar.vue';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtImageCarousel',\n\n components: {\n DtImageViewer,\n DtButton,\n DtIconClose,\n DtProgressBar,\n },\n\n props: {\n mediaItem: {\n type: Object,\n required: true,\n },\n\n index: {\n type: Number,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when media close button is clicked to remove the image\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n removeMediaItem (index) {\n this.$emit('remove-media', index);\n },\n },\n};\n</script>\n","<template>\n <div\n class=\"d-recipe-attachment-carousel\"\n role=\"presentation\"\n >\n <ul\n v-if=\"mediaList.length > 0\"\n ref=\"carousel\"\n class=\"d-recipe-attachment-carousel__media-list\"\n @scroll=\"handleScroll\"\n >\n <!-- media list -->\n <component\n :is=\"mediaComponent(mediaItem.type)\"\n v-for=\"(mediaItem, index) in filteredMediaList\"\n :key=\"`media-${index}`\"\n :index=\"index\"\n :media-item=\"mediaItem\"\n @remove-media=\"removeMediaItem(index)\"\n @focusin=\"onItemFocus\"\n />\n </ul>\n\n <!-- Carousel Arrows -->\n <dt-button\n v-show=\"showLeftArrow\"\n tabindex=\"-1\"\n :aria-label=\"i18n.$t('DIALTONE_ATTACHMENT_CAROUSEL_LEFT_ARROW_ARIA_LABEL')\"\n class=\"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--left\"\n circle\n size=\"xs\"\n importance=\"clear\"\n @click=\"leftScroll\"\n >\n <template #icon>\n <dt-icon-arrow-left\n size=\"100\"\n />\n </template>\n </dt-button>\n <dt-button\n v-show=\"showRightArrow\"\n tabindex=\"-1\"\n :aria-label=\"i18n.$t('DIALTONE_ATTACHMENT_CAROUSEL_RIGHT_ARROW_ARIA_LABEL')\"\n class=\"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--right\"\n circle\n size=\"xs\"\n importance=\"clear\"\n @click=\"rightScroll\"\n >\n <template #icon>\n <dt-icon-arrow-right\n size=\"100\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtIconArrowRight, DtIconArrowLeft } from '@dialpad/dialtone-icons/vue3';\nimport { DtButton } from '@/components/button';\nimport { DialtoneLocalization } from '@/localization';\n\nimport DtImageCarousel from './media_components/image_carousel.vue';\n\nconst MEDIA_ITEM_WIDTH = 64;\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeAttachmentCarousel',\n\n components: {\n DtButton,\n DtIconArrowRight,\n DtIconArrowLeft,\n DtImageCarousel,\n },\n\n /* inheritAttrs: false is generally an option we want to set on library\n components. This allows any attributes passed in that are not recognized\n as props to be passed down to another element or component using v-bind:$attrs\n more info: https://vuejs.org/v2/api/#inheritAttrs */\n // inheritAttrs: false,\n\n props: {\n /**\n * media - object array of media objects\n * @type {Array}\n *\n * Object: {\n * path: String,\n * altText: String | null,\n * }\n */\n mediaList: {\n type: Array,\n default: () => [],\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n data () {\n return {\n showCloseButton: {},\n showRightArrow: true,\n showLeftArrow: false,\n isMounted: false,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n filteredMediaList () {\n return this.mediaList.filter((mediaItem) => mediaItem.type === 'image' || mediaItem.type === 'video');\n },\n },\n\n mounted: function () {\n this.showLeftArrow = this.$refs.carousel.scrollLeft > 0;\n this.showRightArrow = this.$refs.carousel.scrollWidth > this.$refs.carousel.clientWidth;\n },\n\n methods: {\n onItemFocus (e) {\n e.currentTarget.scrollIntoView({ behavior: 'smooth' });\n },\n\n mediaComponent (type) {\n switch (type) {\n case 'image':\n return 'dt-image-carousel';\n default:\n // unknown media type\n return null;\n }\n },\n\n removeMediaItem (index) {\n // make sure the carousel arrows is updated. 64 is the width of each media item\n this.showRightArrow = this.$refs.carousel.scrollWidth > (this.$refs.carousel.clientWidth + MEDIA_ITEM_WIDTH);\n this.$emit('remove-media', index);\n },\n\n closeButton (val, index) {\n this.showCloseButton[index] = val;\n },\n\n handleScroll () {\n const carousel = this.$refs.carousel;\n this.showLeftArrow = carousel.scrollLeft > 0;\n this.showRightArrow = !((carousel.scrollLeft + carousel.clientWidth) === carousel.scrollWidth);\n },\n\n leftScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft - 100,\n behavior: 'smooth',\n });\n },\n\n rightScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft + 100,\n behavior: 'smooth',\n });\n },\n },\n};\n</script>\n"],"names":["_sfc_main","_hoisted_1","_createElementVNode","_createElementBlock","$props","_normalizeStyle","$options","_hoisted_2","_hoisted_3","DtImageViewer","DtButton","DtIconClose","DtProgressBar","DialtoneLocalization","index","_openBlock","_createVNode","_component_dt_image_viewer","$data","_createBlock","_component_dt_progress_bar","_createCommentVNode","_component_dt_button","_cache","$event","_component_dt_icon_close","MEDIA_ITEM_WIDTH","DtIconArrowRight","DtIconArrowLeft","DtImageCarousel","mediaItem","e","type","val","carousel","args","_Fragment","_renderList","_resolveDynamicComponent","_component_dt_icon_arrow_left","_component_dt_icon_arrow_right"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { DtIconClose as v, DtIconArrowRight as E, DtIconArrowLeft as T } from "@dialpad/dialtone-icons/vue3";
1
+ import { DtIconClose as v, DtIconArrowLeft as E, DtIconArrowRight as T } from "@dialpad/dialtone-icons/vue3";
2
2
  import { DialtoneLocalization as L } from "../../localization/index.js";
3
- import { openBlock as i, createElementBlock as n, normalizeStyle as R, createElementVNode as f, resolveComponent as s, createVNode as c, createBlock as b, createCommentVNode as C, withCtx as h, Fragment as D, renderList as x, resolveDynamicComponent as O, withDirectives as A, vShow as w } from "vue";
3
+ import { createElementBlock as n, openBlock as i, normalizeStyle as R, createElementVNode as f, resolveComponent as s, createVNode as c, createBlock as b, createCommentVNode as C, withCtx as h, withDirectives as A, Fragment as D, renderList as x, resolveDynamicComponent as O, vShow as w } from "vue";
4
4
  import { _ as p } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
5
- import B from "../image-viewer/image-viewer.js";
6
5
  import I from "../button/button.js";
6
+ import B from "../image-viewer/image-viewer.js";
7
7
  const y = {
8
8
  compatConfig: { MODE: 3 },
9
9
  name: "DtProgressBar",
@@ -145,8 +145,8 @@ const U = /* @__PURE__ */ p(W, [["render", F]]), G = 64, H = {
145
145
  name: "DtRecipeAttachmentCarousel",
146
146
  components: {
147
147
  DtButton: I,
148
- DtIconArrowRight: E,
149
- DtIconArrowLeft: T,
148
+ DtIconArrowRight: T,
149
+ DtIconArrowLeft: E,
150
150
  DtImageCarousel: U
151
151
  },
152
152
  /* inheritAttrs: false is generally an option we want to set on library
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-carousel.js","sources":["../../../recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue","../../../recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue","../../../recipes/conversation_view/attachment_carousel/attachment_carousel.vue"],"sourcesContent":["<script>\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtProgressBar',\n props: {\n ariaLabel: {\n type: String,\n required: true,\n },\n\n progress: {\n type: Number,\n default: 20,\n },\n },\n\n data: () => ({\n circleCircumference: 50,\n }),\n\n computed: {\n cssVars () {\n return {\n '--stroke-dashoffset':\n (this.circleCircumference - (this.circleCircumference * this.progress / 100)),\n\n '--stroke-dasharray': this.circleCircumference,\n };\n },\n },\n\n mounted () {\n this.circleCircumference = this.$refs.progressbarCircle.getTotalLength();\n },\n};\n</script>\n\n<template>\n <div\n role=\"progressbar\"\n :aria-label=\"ariaLabel\"\n tabindex=\"-1\"\n :aria-valuenow=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <svg\n class=\"d-recipe-attachment-carousel__progress-bar\"\n :style=\"cssVars\"\n >\n <circle\n ref=\"progressbarCircle\"\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"d-recipe-attachment-carousel__progress-bar-circle\"\n />\n <circle\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"d-recipe-attachment-carousel__progress-bar-circle\"\n />\n </svg>\n </div>\n</template>\n","<template>\n <li\n class=\"d-recipe-attachment-carousel__image\"\n >\n <dt-image-viewer\n image-button-class=\"d-recipe-attachment-carousel__image-viewer\"\n :image-src=\"mediaItem.path\"\n :image-alt=\"mediaItem.altText\"\n :aria-label=\"i18n.$t('DIALTONE_IMAGE_CAROUSEL_CLICK_TO_OPEN_ARIA_LABEL')\"\n />\n\n <!-- Loader / Close button -->\n <div\n class=\"d-recipe-attachment-carousel__image-top-right\"\n >\n <dt-progress-bar\n v-if=\"mediaItem.isUploading\"\n class=\"d-recipe-attachment-carousel__image-progress-bar\"\n :progress=\"mediaItem.progress\"\n :aria-label=\"i18n.$t('DIALTONE_IMAGE_CAROUSEL_PROGRESS_BAR_ARIA_LABEL')\"\n />\n <dt-button\n :id=\"`closeButton-${index}`\"\n tabindex=\"0\"\n class=\"d-recipe-attachment-carousel__image-close-button\"\n circle\n size=\"xs\"\n importance=\"clear\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"removeMediaItem(index)\"\n >\n <template #icon>\n <dt-icon-close\n size=\"200\"\n />\n </template>\n </dt-button>\n </div>\n </li>\n</template>\n\n<script>\nimport { DtImageViewer } from '@/components/image_viewer';\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\nimport DtProgressBar from './progress_bar.vue';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtImageCarousel',\n\n components: {\n DtImageViewer,\n DtButton,\n DtIconClose,\n DtProgressBar,\n },\n\n props: {\n mediaItem: {\n type: Object,\n required: true,\n },\n\n index: {\n type: Number,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when media close button is clicked to remove the image\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n removeMediaItem (index) {\n this.$emit('remove-media', index);\n },\n },\n};\n</script>\n","<template>\n <div\n class=\"d-recipe-attachment-carousel\"\n role=\"presentation\"\n >\n <ul\n v-if=\"mediaList.length > 0\"\n ref=\"carousel\"\n class=\"d-recipe-attachment-carousel__media-list\"\n @scroll=\"handleScroll\"\n >\n <!-- media list -->\n <component\n :is=\"mediaComponent(mediaItem.type)\"\n v-for=\"(mediaItem, index) in filteredMediaList\"\n :key=\"`media-${index}`\"\n :index=\"index\"\n :media-item=\"mediaItem\"\n @remove-media=\"removeMediaItem(index)\"\n @focusin=\"onItemFocus\"\n />\n </ul>\n\n <!-- Carousel Arrows -->\n <dt-button\n v-show=\"showLeftArrow\"\n tabindex=\"-1\"\n :aria-label=\"i18n.$t('DIALTONE_ATTACHMENT_CAROUSEL_LEFT_ARROW_ARIA_LABEL')\"\n class=\"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--left\"\n circle\n size=\"xs\"\n importance=\"clear\"\n @click=\"leftScroll\"\n >\n <template #icon>\n <dt-icon-arrow-left\n size=\"100\"\n />\n </template>\n </dt-button>\n <dt-button\n v-show=\"showRightArrow\"\n tabindex=\"-1\"\n :aria-label=\"i18n.$t('DIALTONE_ATTACHMENT_CAROUSEL_RIGHT_ARROW_ARIA_LABEL')\"\n class=\"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--right\"\n circle\n size=\"xs\"\n importance=\"clear\"\n @click=\"rightScroll\"\n >\n <template #icon>\n <dt-icon-arrow-right\n size=\"100\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtIconArrowRight, DtIconArrowLeft } from '@dialpad/dialtone-icons/vue3';\nimport { DtButton } from '@/components/button';\nimport { DialtoneLocalization } from '@/localization';\n\nimport DtImageCarousel from './media_components/image_carousel.vue';\n\nconst MEDIA_ITEM_WIDTH = 64;\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeAttachmentCarousel',\n\n components: {\n DtButton,\n DtIconArrowRight,\n DtIconArrowLeft,\n DtImageCarousel,\n },\n\n /* inheritAttrs: false is generally an option we want to set on library\n components. This allows any attributes passed in that are not recognized\n as props to be passed down to another element or component using v-bind:$attrs\n more info: https://vuejs.org/v2/api/#inheritAttrs */\n // inheritAttrs: false,\n\n props: {\n /**\n * media - object array of media objects\n * @type {Array}\n *\n * Object: {\n * path: String,\n * altText: String | null,\n * }\n */\n mediaList: {\n type: Array,\n default: () => [],\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n data () {\n return {\n showCloseButton: {},\n showRightArrow: true,\n showLeftArrow: false,\n isMounted: false,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n filteredMediaList () {\n return this.mediaList.filter((mediaItem) => mediaItem.type === 'image' || mediaItem.type === 'video');\n },\n },\n\n mounted: function () {\n this.showLeftArrow = this.$refs.carousel.scrollLeft > 0;\n this.showRightArrow = this.$refs.carousel.scrollWidth > this.$refs.carousel.clientWidth;\n },\n\n methods: {\n onItemFocus (e) {\n e.currentTarget.scrollIntoView({ behavior: 'smooth' });\n },\n\n mediaComponent (type) {\n switch (type) {\n case 'image':\n return 'dt-image-carousel';\n default:\n // unknown media type\n return null;\n }\n },\n\n removeMediaItem (index) {\n // make sure the carousel arrows is updated. 64 is the width of each media item\n this.showRightArrow = this.$refs.carousel.scrollWidth > (this.$refs.carousel.clientWidth + MEDIA_ITEM_WIDTH);\n this.$emit('remove-media', index);\n },\n\n closeButton (val, index) {\n this.showCloseButton[index] = val;\n },\n\n handleScroll () {\n const carousel = this.$refs.carousel;\n this.showLeftArrow = carousel.scrollLeft > 0;\n this.showRightArrow = !((carousel.scrollLeft + carousel.clientWidth) === carousel.scrollWidth);\n },\n\n leftScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft - 100,\n behavior: 'smooth',\n });\n },\n\n rightScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft + 100,\n behavior: 'smooth',\n });\n },\n },\n};\n</script>\n"],"names":["_sfc_main","_hoisted_1","_createElementVNode","_createElementBlock","$props","_normalizeStyle","$options","_hoisted_2","_hoisted_3","DtImageViewer","DtButton","DtIconClose","DtProgressBar","DialtoneLocalization","index","_openBlock","_createVNode","_component_dt_image_viewer","$data","_createBlock","_component_dt_progress_bar","_createCommentVNode","_component_dt_button","_cache","$event","_component_dt_icon_close","MEDIA_ITEM_WIDTH","DtIconArrowRight","DtIconArrowLeft","DtImageCarousel","mediaItem","type","val","carousel","args","_Fragment","_renderList","_resolveDynamicComponent","_component_dt_icon_arrow_left","_component_dt_icon_arrow_right"],"mappings":"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"}
1
+ {"version":3,"file":"attachment-carousel.js","sources":["../../../recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue","../../../recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue","../../../recipes/conversation_view/attachment_carousel/attachment_carousel.vue"],"sourcesContent":["<script>\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtProgressBar',\n props: {\n ariaLabel: {\n type: String,\n required: true,\n },\n\n progress: {\n type: Number,\n default: 20,\n },\n },\n\n data: () => ({\n circleCircumference: 50,\n }),\n\n computed: {\n cssVars () {\n return {\n '--stroke-dashoffset':\n (this.circleCircumference - (this.circleCircumference * this.progress / 100)),\n\n '--stroke-dasharray': this.circleCircumference,\n };\n },\n },\n\n mounted () {\n this.circleCircumference = this.$refs.progressbarCircle.getTotalLength();\n },\n};\n</script>\n\n<template>\n <div\n role=\"progressbar\"\n :aria-label=\"ariaLabel\"\n tabindex=\"-1\"\n :aria-valuenow=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <svg\n class=\"d-recipe-attachment-carousel__progress-bar\"\n :style=\"cssVars\"\n >\n <circle\n ref=\"progressbarCircle\"\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"d-recipe-attachment-carousel__progress-bar-circle\"\n />\n <circle\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"d-recipe-attachment-carousel__progress-bar-circle\"\n />\n </svg>\n </div>\n</template>\n","<template>\n <li\n class=\"d-recipe-attachment-carousel__image\"\n >\n <dt-image-viewer\n image-button-class=\"d-recipe-attachment-carousel__image-viewer\"\n :image-src=\"mediaItem.path\"\n :image-alt=\"mediaItem.altText\"\n :aria-label=\"i18n.$t('DIALTONE_IMAGE_CAROUSEL_CLICK_TO_OPEN_ARIA_LABEL')\"\n />\n\n <!-- Loader / Close button -->\n <div\n class=\"d-recipe-attachment-carousel__image-top-right\"\n >\n <dt-progress-bar\n v-if=\"mediaItem.isUploading\"\n class=\"d-recipe-attachment-carousel__image-progress-bar\"\n :progress=\"mediaItem.progress\"\n :aria-label=\"i18n.$t('DIALTONE_IMAGE_CAROUSEL_PROGRESS_BAR_ARIA_LABEL')\"\n />\n <dt-button\n :id=\"`closeButton-${index}`\"\n tabindex=\"0\"\n class=\"d-recipe-attachment-carousel__image-close-button\"\n circle\n size=\"xs\"\n importance=\"clear\"\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"removeMediaItem(index)\"\n >\n <template #icon>\n <dt-icon-close\n size=\"200\"\n />\n </template>\n </dt-button>\n </div>\n </li>\n</template>\n\n<script>\nimport { DtImageViewer } from '@/components/image_viewer';\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue3';\nimport { DialtoneLocalization } from '@/localization';\n\nimport DtProgressBar from './progress_bar.vue';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtImageCarousel',\n\n components: {\n DtImageViewer,\n DtButton,\n DtIconClose,\n DtProgressBar,\n },\n\n props: {\n mediaItem: {\n type: Object,\n required: true,\n },\n\n index: {\n type: Number,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when media close button is clicked to remove the image\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n removeMediaItem (index) {\n this.$emit('remove-media', index);\n },\n },\n};\n</script>\n","<template>\n <div\n class=\"d-recipe-attachment-carousel\"\n role=\"presentation\"\n >\n <ul\n v-if=\"mediaList.length > 0\"\n ref=\"carousel\"\n class=\"d-recipe-attachment-carousel__media-list\"\n @scroll=\"handleScroll\"\n >\n <!-- media list -->\n <component\n :is=\"mediaComponent(mediaItem.type)\"\n v-for=\"(mediaItem, index) in filteredMediaList\"\n :key=\"`media-${index}`\"\n :index=\"index\"\n :media-item=\"mediaItem\"\n @remove-media=\"removeMediaItem(index)\"\n @focusin=\"onItemFocus\"\n />\n </ul>\n\n <!-- Carousel Arrows -->\n <dt-button\n v-show=\"showLeftArrow\"\n tabindex=\"-1\"\n :aria-label=\"i18n.$t('DIALTONE_ATTACHMENT_CAROUSEL_LEFT_ARROW_ARIA_LABEL')\"\n class=\"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--left\"\n circle\n size=\"xs\"\n importance=\"clear\"\n @click=\"leftScroll\"\n >\n <template #icon>\n <dt-icon-arrow-left\n size=\"100\"\n />\n </template>\n </dt-button>\n <dt-button\n v-show=\"showRightArrow\"\n tabindex=\"-1\"\n :aria-label=\"i18n.$t('DIALTONE_ATTACHMENT_CAROUSEL_RIGHT_ARROW_ARIA_LABEL')\"\n class=\"d-recipe-attachment-carousel__arrow d-recipe-attachment-carousel__arrow--right\"\n circle\n size=\"xs\"\n importance=\"clear\"\n @click=\"rightScroll\"\n >\n <template #icon>\n <dt-icon-arrow-right\n size=\"100\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtIconArrowRight, DtIconArrowLeft } from '@dialpad/dialtone-icons/vue3';\nimport { DtButton } from '@/components/button';\nimport { DialtoneLocalization } from '@/localization';\n\nimport DtImageCarousel from './media_components/image_carousel.vue';\n\nconst MEDIA_ITEM_WIDTH = 64;\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeAttachmentCarousel',\n\n components: {\n DtButton,\n DtIconArrowRight,\n DtIconArrowLeft,\n DtImageCarousel,\n },\n\n /* inheritAttrs: false is generally an option we want to set on library\n components. This allows any attributes passed in that are not recognized\n as props to be passed down to another element or component using v-bind:$attrs\n more info: https://vuejs.org/v2/api/#inheritAttrs */\n // inheritAttrs: false,\n\n props: {\n /**\n * media - object array of media objects\n * @type {Array}\n *\n * Object: {\n * path: String,\n * altText: String | null,\n * }\n */\n mediaList: {\n type: Array,\n default: () => [],\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n data () {\n return {\n showCloseButton: {},\n showRightArrow: true,\n showLeftArrow: false,\n isMounted: false,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n filteredMediaList () {\n return this.mediaList.filter((mediaItem) => mediaItem.type === 'image' || mediaItem.type === 'video');\n },\n },\n\n mounted: function () {\n this.showLeftArrow = this.$refs.carousel.scrollLeft > 0;\n this.showRightArrow = this.$refs.carousel.scrollWidth > this.$refs.carousel.clientWidth;\n },\n\n methods: {\n onItemFocus (e) {\n e.currentTarget.scrollIntoView({ behavior: 'smooth' });\n },\n\n mediaComponent (type) {\n switch (type) {\n case 'image':\n return 'dt-image-carousel';\n default:\n // unknown media type\n return null;\n }\n },\n\n removeMediaItem (index) {\n // make sure the carousel arrows is updated. 64 is the width of each media item\n this.showRightArrow = this.$refs.carousel.scrollWidth > (this.$refs.carousel.clientWidth + MEDIA_ITEM_WIDTH);\n this.$emit('remove-media', index);\n },\n\n closeButton (val, index) {\n this.showCloseButton[index] = val;\n },\n\n handleScroll () {\n const carousel = this.$refs.carousel;\n this.showLeftArrow = carousel.scrollLeft > 0;\n this.showRightArrow = !((carousel.scrollLeft + carousel.clientWidth) === carousel.scrollWidth);\n },\n\n leftScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft - 100,\n behavior: 'smooth',\n });\n },\n\n rightScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft + 100,\n behavior: 'smooth',\n });\n },\n },\n};\n</script>\n"],"names":["_sfc_main","_hoisted_1","_createElementVNode","_createElementBlock","$props","_normalizeStyle","$options","_hoisted_2","_hoisted_3","DtImageViewer","DtButton","DtIconClose","DtProgressBar","DialtoneLocalization","index","_openBlock","_createVNode","_component_dt_image_viewer","$data","_createBlock","_component_dt_progress_bar","_createCommentVNode","_component_dt_button","_cache","$event","_component_dt_icon_close","MEDIA_ITEM_WIDTH","DtIconArrowRight","DtIconArrowLeft","DtImageCarousel","mediaItem","type","val","carousel","args","_Fragment","_renderList","_resolveDynamicComponent","_component_dt_icon_arrow_left","_component_dt_icon_arrow_right"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"avatar-constants.cjs","sources":["../../../components/avatar/avatar_constants.js"],"sourcesContent":["export const AVATAR_SIZE_MODIFIERS = {\n xs: 'd-avatar--xs',\n sm: 'd-avatar--sm',\n md: 'd-avatar--md',\n lg: 'd-avatar--lg',\n xl: 'd-avatar--xl',\n};\n\nexport const AVATAR_KIND_MODIFIERS = {\n default: '',\n icon: 'd-avatar__icon',\n initials: 'd-avatar__initials',\n};\n\nexport const AVATAR_PRESENCE_SIZE_MODIFIERS = {\n md: 'd-avatar__presence--md',\n lg: 'd-avatar__presence--lg',\n};\n\nexport const AVATAR_PRESENCE_STATES = {\n NONE: '',\n BUSY: 'busy',\n AWAY: 'away',\n OFFLINE: 'offline',\n ACTIVE: 'active',\n};\n\nexport const AVATAR_ICON_SIZES = {\n xs: '100',\n sm: '200',\n md: '300',\n lg: '500',\n xl: '600',\n};\n\nexport const AVATAR_COLORS = [\n '000',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n '1000',\n '1100',\n '1200',\n '1300',\n '1400',\n '1500',\n '1600',\n '1700',\n '1800',\n];\n\n// We do not use the color '000' (grey) in the randomized avatar colors, but it can still be set manually.\nexport const AVATAR_RANDOM_COLORS = AVATAR_COLORS.slice(1);\n\nexport const AVATAR_GROUP_VALIDATOR = (group) => group > 1;\n\nexport default {\n AVATAR_SIZE_MODIFIERS,\n AVATAR_KIND_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n AVATAR_PRESENCE_STATES,\n AVATAR_ICON_SIZES,\n AVATAR_COLORS,\n AVATAR_RANDOM_COLORS,\n AVATAR_GROUP_VALIDATOR,\n};\n"],"names":["AVATAR_SIZE_MODIFIERS","AVATAR_KIND_MODIFIERS","AVATAR_PRESENCE_SIZE_MODIFIERS","AVATAR_PRESENCE_STATES","AVATAR_ICON_SIZES","AVATAR_COLORS","AVATAR_RANDOM_COLORS","AVATAR_GROUP_VALIDATOR","group","avatar_constants"],"mappings":"4GAAY,MAACA,EAAwB,CACnC,GAAI,eACJ,GAAI,eACJ,GAAI,eACJ,GAAI,eACJ,GAAI,cACN,EAEaC,EAAwB,CACnC,QAAS,GACT,KAAM,iBACN,SAAU,oBACZ,EAEaC,EAAiC,CAC5C,GAAI,yBACJ,GAAI,wBACN,EAEaC,EAAyB,CACpC,KAAM,GACN,KAAM,OACN,KAAM,OACN,QAAS,UACT,OAAQ,QACV,EAEaC,EAAoB,CAC/B,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,KACN,EAEaC,EAAgB,CAC3B,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACF,EAGaC,EAAuBD,EAAc,MAAM,CAAC,EAE5CE,EAA0BC,GAAUA,EAAQ,EAE1CC,EAAA,CACb,sBAAAT,EACA,sBAAAC,EACA,+BAAAC,EACA,uBAAAC,EACA,kBAAAC,EACA,cAAAC,EACA,qBAAAC,EACA,uBAAAC,CACF"}
1
+ {"version":3,"file":"avatar-constants.cjs","sources":["../../../components/avatar/avatar_constants.js"],"sourcesContent":["export const AVATAR_SIZE_MODIFIERS = {\n xs: 'd-avatar--xs',\n sm: 'd-avatar--sm',\n md: 'd-avatar--md',\n lg: 'd-avatar--lg',\n xl: 'd-avatar--xl',\n};\n\nexport const AVATAR_KIND_MODIFIERS = {\n default: '',\n icon: 'd-avatar__icon',\n initials: 'd-avatar__initials',\n};\n\nexport const AVATAR_PRESENCE_SIZE_MODIFIERS = {\n md: 'd-avatar__presence--md',\n lg: 'd-avatar__presence--lg',\n};\n\nexport const AVATAR_PRESENCE_STATES = {\n NONE: '',\n BUSY: 'busy',\n AWAY: 'away',\n OFFLINE: 'offline',\n ACTIVE: 'active',\n};\n\nexport const AVATAR_ICON_SIZES = {\n xs: '100',\n sm: '200',\n md: '300',\n lg: '500',\n xl: '600',\n};\n\nexport const AVATAR_COLORS = [\n '000',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n '1000',\n '1100',\n '1200',\n '1300',\n '1400',\n '1500',\n '1600',\n '1700',\n '1800',\n];\n\n// We do not use the color '000' (grey) in the randomized avatar colors, but it can still be set manually.\nexport const AVATAR_RANDOM_COLORS = AVATAR_COLORS.slice(1);\n\nexport const AVATAR_GROUP_VALIDATOR = (group) => group > 1;\n\nexport default {\n AVATAR_SIZE_MODIFIERS,\n AVATAR_KIND_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n AVATAR_PRESENCE_STATES,\n AVATAR_ICON_SIZES,\n AVATAR_COLORS,\n AVATAR_RANDOM_COLORS,\n AVATAR_GROUP_VALIDATOR,\n};\n"],"names":["AVATAR_SIZE_MODIFIERS","AVATAR_KIND_MODIFIERS","AVATAR_PRESENCE_SIZE_MODIFIERS","AVATAR_PRESENCE_STATES","AVATAR_ICON_SIZES","AVATAR_COLORS","AVATAR_RANDOM_COLORS","AVATAR_GROUP_VALIDATOR","group","avatar_constants"],"mappings":"4GAAY,MAACA,EAAwB,CACnC,GAAI,eACJ,GAAI,eACJ,GAAI,eACJ,GAAI,eACJ,GAAI,cACN,EAEaC,EAAwB,CACnC,QAAS,GACT,KAAM,iBACN,SAAU,oBACZ,EAEaC,EAAiC,CAC5C,GAAI,yBACJ,GAAI,wBACN,EAEaC,EAAyB,CACpC,KAAM,GACN,KAAM,OACN,KAAM,OACN,QAAS,UACT,OAAQ,QACV,EAEaC,EAAoB,CAC/B,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,MACJ,GAAI,KACN,EAEaC,EAAgB,CAC3B,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACF,EAGaC,EAAuBD,EAAc,MAAM,CAAC,EAE5CE,EAA0BC,GAAUA,EAAQ,EAEzDC,EAAe,CACb,sBAAAT,EACA,sBAAAC,EACA,+BAAAC,EACA,uBAAAC,EACA,kBAAAC,EACA,cAAAC,EACA,qBAAAC,EACA,uBAAAC,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"avatar-constants.js","sources":["../../../components/avatar/avatar_constants.js"],"sourcesContent":["export const AVATAR_SIZE_MODIFIERS = {\n xs: 'd-avatar--xs',\n sm: 'd-avatar--sm',\n md: 'd-avatar--md',\n lg: 'd-avatar--lg',\n xl: 'd-avatar--xl',\n};\n\nexport const AVATAR_KIND_MODIFIERS = {\n default: '',\n icon: 'd-avatar__icon',\n initials: 'd-avatar__initials',\n};\n\nexport const AVATAR_PRESENCE_SIZE_MODIFIERS = {\n md: 'd-avatar__presence--md',\n lg: 'd-avatar__presence--lg',\n};\n\nexport const AVATAR_PRESENCE_STATES = {\n NONE: '',\n BUSY: 'busy',\n AWAY: 'away',\n OFFLINE: 'offline',\n ACTIVE: 'active',\n};\n\nexport const AVATAR_ICON_SIZES = {\n xs: '100',\n sm: '200',\n md: '300',\n lg: '500',\n xl: '600',\n};\n\nexport const AVATAR_COLORS = [\n '000',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n '1000',\n '1100',\n '1200',\n '1300',\n '1400',\n '1500',\n '1600',\n '1700',\n '1800',\n];\n\n// We do not use the color '000' (grey) in the randomized avatar colors, but it can still be set manually.\nexport const AVATAR_RANDOM_COLORS = AVATAR_COLORS.slice(1);\n\nexport const AVATAR_GROUP_VALIDATOR = (group) => group > 1;\n\nexport default {\n AVATAR_SIZE_MODIFIERS,\n AVATAR_KIND_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n AVATAR_PRESENCE_STATES,\n AVATAR_ICON_SIZES,\n AVATAR_COLORS,\n AVATAR_RANDOM_COLORS,\n AVATAR_GROUP_VALIDATOR,\n};\n"],"names":["AVATAR_SIZE_MODIFIERS","AVATAR_KIND_MODIFIERS","AVATAR_PRESENCE_SIZE_MODIFIERS","AVATAR_PRESENCE_STATES","AVATAR_ICON_SIZES","AVATAR_COLORS","AVATAR_RANDOM_COLORS","AVATAR_GROUP_VALIDATOR","group","avatar_constants"],"mappings":"AAAY,MAACA,IAAwB;AAAA,EACnC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEaC,IAAwB;AAAA,EACnC,SAAS;AAAA,EACT,MAAM;AAAA,EACN,UAAU;AACZ,GAEaC,IAAiC;AAAA,EAC5C,IAAI;AAAA,EACJ,IAAI;AACN,GAEaC,IAAyB;AAAA,EACpC,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AACV,GAEaC,IAAoB;AAAA,EAC/B,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEaC,IAAgB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAGaC,IAAuBD,EAAc,MAAM,CAAC,GAE5CE,IAAyB,CAACC,MAAUA,IAAQ,GAE1CC,IAAA;AAAA,EACb,uBAAAT;AAAA,EACA,uBAAAC;AAAA,EACA,gCAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,wBAAAC;AACF;"}
1
+ {"version":3,"file":"avatar-constants.js","sources":["../../../components/avatar/avatar_constants.js"],"sourcesContent":["export const AVATAR_SIZE_MODIFIERS = {\n xs: 'd-avatar--xs',\n sm: 'd-avatar--sm',\n md: 'd-avatar--md',\n lg: 'd-avatar--lg',\n xl: 'd-avatar--xl',\n};\n\nexport const AVATAR_KIND_MODIFIERS = {\n default: '',\n icon: 'd-avatar__icon',\n initials: 'd-avatar__initials',\n};\n\nexport const AVATAR_PRESENCE_SIZE_MODIFIERS = {\n md: 'd-avatar__presence--md',\n lg: 'd-avatar__presence--lg',\n};\n\nexport const AVATAR_PRESENCE_STATES = {\n NONE: '',\n BUSY: 'busy',\n AWAY: 'away',\n OFFLINE: 'offline',\n ACTIVE: 'active',\n};\n\nexport const AVATAR_ICON_SIZES = {\n xs: '100',\n sm: '200',\n md: '300',\n lg: '500',\n xl: '600',\n};\n\nexport const AVATAR_COLORS = [\n '000',\n '100',\n '200',\n '300',\n '400',\n '500',\n '600',\n '700',\n '800',\n '900',\n '1000',\n '1100',\n '1200',\n '1300',\n '1400',\n '1500',\n '1600',\n '1700',\n '1800',\n];\n\n// We do not use the color '000' (grey) in the randomized avatar colors, but it can still be set manually.\nexport const AVATAR_RANDOM_COLORS = AVATAR_COLORS.slice(1);\n\nexport const AVATAR_GROUP_VALIDATOR = (group) => group > 1;\n\nexport default {\n AVATAR_SIZE_MODIFIERS,\n AVATAR_KIND_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n AVATAR_PRESENCE_STATES,\n AVATAR_ICON_SIZES,\n AVATAR_COLORS,\n AVATAR_RANDOM_COLORS,\n AVATAR_GROUP_VALIDATOR,\n};\n"],"names":["AVATAR_SIZE_MODIFIERS","AVATAR_KIND_MODIFIERS","AVATAR_PRESENCE_SIZE_MODIFIERS","AVATAR_PRESENCE_STATES","AVATAR_ICON_SIZES","AVATAR_COLORS","AVATAR_RANDOM_COLORS","AVATAR_GROUP_VALIDATOR","group","avatar_constants"],"mappings":"AAAY,MAACA,IAAwB;AAAA,EACnC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEaC,IAAwB;AAAA,EACnC,SAAS;AAAA,EACT,MAAM;AAAA,EACN,UAAU;AACZ,GAEaC,IAAiC;AAAA,EAC5C,IAAI;AAAA,EACJ,IAAI;AACN,GAEaC,IAAyB;AAAA,EACpC,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AACV,GAEaC,IAAoB;AAAA,EAC/B,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEaC,IAAgB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAGaC,IAAuBD,EAAc,MAAM,CAAC,GAE5CE,IAAyB,CAACC,MAAUA,IAAQ,GAEzDC,IAAe;AAAA,EACb,uBAAAT;AAAA,EACA,uBAAAC;AAAA,EACA,gCAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,wBAAAC;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.cjs","sources":["../../../components/avatar/avatar.vue"],"sourcesContent":["<template>\n <component\n :is=\"clickable ? 'button' : 'div'\"\n :id=\"id\"\n :class=\"avatarClasses\"\n :style=\"$attrs.style\"\n data-qa=\"dt-avatar\"\n @click=\"handleClick\"\n >\n <div\n ref=\"canvas\"\n :class=\"[\n canvasClass,\n 'd-avatar__canvas',\n { 'd-avatar--image-loaded': imageLoadedSuccessfully },\n ]\"\n >\n <img\n v-if=\"showImage\"\n ref=\"avatarImage\"\n class=\"d-avatar__image\"\n data-qa=\"dt-avatar-image\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n <div\n v-else-if=\"isIconType()\"\n :class=\"[iconClass, AVATAR_KIND_MODIFIERS.icon]\"\n :aria-label=\"clickable ? iconAriaLabel : ''\"\n :data-qa=\"iconDataQa\"\n :role=\"clickable ? 'button' : ''\"\n >\n <!-- @slot Slot for avatar icon. It will display if no imageSrc is provided -->\n <slot\n name=\"icon\"\n :icon-size=\"iconSize || AVATAR_ICON_SIZES[size]\"\n />\n </div>\n <span\n v-else\n :class=\"[AVATAR_KIND_MODIFIERS.initials]\"\n >\n {{ formattedInitials }}\n </span>\n </div>\n <div\n v-if=\"hasOverlayIcon || overlayText\"\n :class=\"overlayClasses\"\n >\n <!-- @slot Slot for overlay icon. -->\n <slot\n v-if=\"hasOverlayIcon\"\n name=\"overlayIcon\"\n />\n <p\n v-else-if=\"overlayText\"\n class=\"d-avatar__overlay-text\"\n >\n {{ overlayText }}\n </p>\n </div>\n <span\n v-if=\"showGroup\"\n class=\"d-avatar__count\"\n data-qa=\"dt-avatar-count\"\n >{{ formattedGroup }}</span>\n <dt-presence\n v-if=\"presence && !showGroup\"\n :presence=\"presence\"\n :class=\"[\n 'd-avatar__presence',\n AVATAR_PRESENCE_SIZE_MODIFIERS[size],\n ]\"\n v-bind=\"presenceProps\"\n data-qa=\"dt-presence\"\n />\n </component>\n</template>\n\n<script>\nimport { getUniqueString, getRandomElement, hasSlotContent } from '@/common/utils';\nimport { DtPresence } from '../presence';\nimport {\n AVATAR_KIND_MODIFIERS,\n AVATAR_SIZE_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n AVATAR_PRESENCE_STATES,\n AVATAR_RANDOM_COLORS,\n AVATAR_GROUP_VALIDATOR,\n AVATAR_ICON_SIZES,\n} from './avatar_constants';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants.js';\nimport { extractInitialsFromName } from './utils';\n\n/**\n * An avatar is a visual representation of a user or object.\n * @see https://dialtone.dialpad.com/components/avatar.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtAvatar',\n components: { DtPresence },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the avatar content wrapper element\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Pass in a seed to get the random color generation based on that string. For example if you pass in a\n * user ID as the string it will return the same randomly generated colors every time for that user.\n */\n seed: {\n type: String,\n default: undefined,\n },\n\n /**\n * Set the avatar background to a specific color. If undefined will randomize the color which can be deterministic\n * if the seed prop is set.\n */\n color: {\n type: String,\n default: undefined,\n },\n\n /**\n * The size of the avatar\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (size) => Object.keys(AVATAR_SIZE_MODIFIERS).includes(size),\n },\n\n /**\n * Used to customize the avatar container\n */\n avatarClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Set classes on the avatar canvas. Wrapper around the core avatar image.\n */\n canvasClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through classes. Used to customize the avatar icon\n */\n iconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * @values null, busy, away, offline, active\n */\n presence: {\n type: String,\n default: AVATAR_PRESENCE_STATES.NONE,\n validator: (state) => {\n return Object.values(AVATAR_PRESENCE_STATES).includes(state);\n },\n },\n\n /**\n * A set of props to be passed into the presence component.\n */\n presenceProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Determines whether to show a group avatar.\n * Limit to 2 digits max, more than 99 will be rendered as “99+”.\n * if the number is 1 or less it would just show the regular avatar as if group had not been set.\n */\n group: {\n type: Number,\n default: undefined,\n validator: (group) => AVATAR_GROUP_VALIDATOR(group),\n },\n\n /**\n * The text that overlays the avatar\n */\n overlayText: {\n type: String,\n default: '',\n },\n\n /**\n * Used to customize the avatar overlay\n */\n overlayClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Source of the image\n */\n imageSrc: {\n type: String,\n default: '',\n },\n\n /**\n * Alt attribute of the image, required if imageSrc is provided.\n * Can be set to '' (empty string) if the image is described\n * in text nearby\n */\n imageAlt: {\n type: String,\n default: undefined,\n },\n\n /**\n * Icon size to be displayed on the avatar\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n iconSize: {\n type: String,\n default: '',\n validator: (size) => !size || Object.keys(ICON_SIZE_MODIFIERS).includes(size),\n },\n\n /**\n * Full name used to extract initials.\n */\n fullName: {\n type: String,\n default: '',\n },\n\n /**\n * Makes the avatar focusable and clickable,\n * emits a click event when clicked.\n */\n clickable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Descriptive label for the icon.\n * To avoid a11y issues, set this prop if clickable and iconName are set.\n */\n iconAriaLabel: {\n type: String,\n default: undefined,\n },\n },\n\n emits: [\n /**\n * Avatar click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n AVATAR_SIZE_MODIFIERS,\n AVATAR_KIND_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n AVATAR_ICON_SIZES,\n imageLoadedSuccessfully: null,\n formattedInitials: '',\n initializing: false,\n hasSlotContent,\n };\n },\n\n computed: {\n hasOverlayIcon () {\n return hasSlotContent(this.$slots.overlayIcon);\n },\n\n iconDataQa () {\n return 'dt-avatar-icon';\n },\n\n avatarClasses () {\n return [\n 'd-avatar',\n this.$attrs.class,\n AVATAR_SIZE_MODIFIERS[this.validatedSize],\n this.avatarClass,\n {\n 'd-avatar--group': this.showGroup,\n [`d-avatar--color-${this.getColor()}`]: !this.isIconType(),\n 'd-avatar--clickable': this.clickable,\n },\n ];\n },\n\n overlayClasses () {\n return [\n 'd-avatar__overlay',\n this.overlayClass,\n { 'd-avatar__overlay-icon': this.hasOverlayIcon },\n ];\n },\n\n showGroup () {\n return AVATAR_GROUP_VALIDATOR(this.group);\n },\n\n formattedGroup () {\n return this.group > 99 ? '99+' : this.group;\n },\n\n validatedSize () {\n // TODO: Group only supports xs size for now. Remove this when we support other sizes.\n return this.group ? 'xs' : this.size;\n },\n\n showImage () {\n return this.imageLoadedSuccessfully !== false && this.imageSrc;\n },\n },\n\n watch: {\n fullName: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n size: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n group: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n imageSrc (newSrc) {\n this.imageLoadedSuccessfully = null;\n if (!newSrc) return;\n\n this.validateProps();\n this.setImageListeners();\n },\n },\n\n mounted () {\n this.validateProps();\n this.setImageListeners();\n },\n\n methods: {\n isIconType () {\n return hasSlotContent(this.$slots.icon);\n },\n\n async setImageListeners () {\n await this.$nextTick();\n const el = this.$refs.avatarImage;\n if (!el) return;\n\n el.addEventListener('load', () => this._loadedImageEventHandler(el), { once: true });\n el.addEventListener('error', () => this._erroredImageEventHandler(el), { once: true });\n },\n\n formatInitials () {\n const initials = extractInitialsFromName(this.fullName);\n\n if (this.validatedSize === 'xs') {\n this.formattedInitials = '';\n } else if (this.validatedSize === 'sm') {\n this.formattedInitials = initials[0];\n } else {\n this.formattedInitials = initials;\n }\n },\n\n getColor () {\n return this.color ?? getRandomElement(AVATAR_RANDOM_COLORS, this.seed);\n },\n\n _loadedImageEventHandler (el) {\n this.imageLoadedSuccessfully = true;\n el.classList.remove('d-d-none');\n },\n\n _erroredImageEventHandler (el) {\n this.imageLoadedSuccessfully = false;\n el.classList.add('d-d-none');\n },\n\n validateProps () {\n if (this.imageSrc && this.imageAlt === undefined) {\n console.error('image-alt required if image-src is provided. Can be set to \"\" (empty string) if the image is described in text nearby');\n }\n },\n\n handleClick (e) {\n if (!this.clickable) return;\n this.$emit('click', e);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtPresence","getUniqueString","size","AVATAR_SIZE_MODIFIERS","AVATAR_PRESENCE_STATES","state","group","AVATAR_GROUP_VALIDATOR","ICON_SIZE_MODIFIERS","AVATAR_KIND_MODIFIERS","AVATAR_PRESENCE_SIZE_MODIFIERS","AVATAR_ICON_SIZES","hasSlotContent","newSrc","el","initials","extractInitialsFromName","getRandomElement","AVATAR_RANDOM_COLORS","e","_hoisted_1","_hoisted_2","_createBlock","_resolveDynamicComponent","$props","_normalizeClass","$options","_normalizeStyle","_ctx","_withCtx","_createElementVNode","$data","_createElementBlock","_renderSlot","_hoisted_3","_toDisplayString","_createCommentVNode","_hoisted_4","_openBlock","_component_dt_presence","_mergeProps"],"mappings":"kXAkGKA,EAAU,CACb,aAAc,CAAE,KAAM,CAAG,EACzB,KAAM,WACN,WAAY,CAAEC,WAAAA,EAAAA,OAAY,EAE1B,aAAc,GAEd,MAAO,CAIL,GAAI,CACF,KAAM,OACN,SAAW,CAAE,OAAOC,EAAe,gBAAA,CAAK,CACzC,EAMD,KAAM,CACJ,KAAM,OACN,QAAS,MACV,EAMD,MAAO,CACL,KAAM,OACN,QAAS,MACV,EAMD,KAAM,CACJ,KAAM,OACN,QAAS,KACT,UAAYC,GAAS,OAAO,KAAKC,uBAAqB,EAAE,SAASD,CAAI,CACtE,EAKD,YAAa,CACX,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACV,EAKD,YAAa,CACX,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACV,EAKD,UAAW,CACT,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACV,EAQD,SAAU,CACR,KAAM,OACN,QAASE,EAAsB,uBAAC,KAChC,UAAYC,GACH,OAAO,OAAOD,EAAAA,sBAAsB,EAAE,SAASC,CAAK,CAE9D,EAKD,cAAe,CACb,KAAM,OACN,QAAS,KAAO,CAAA,EACjB,EAOD,MAAO,CACL,KAAM,OACN,QAAS,OACT,UAAYC,GAAUC,EAAsB,uBAACD,CAAK,CACnD,EAKD,YAAa,CACX,KAAM,OACN,QAAS,EACV,EAKD,aAAc,CACZ,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACV,EAKD,SAAU,CACR,KAAM,OACN,QAAS,EACV,EAOD,SAAU,CACR,KAAM,OACN,QAAS,MACV,EAMD,SAAU,CACR,KAAM,OACN,QAAS,GACT,UAAYJ,GAAS,CAACA,GAAQ,OAAO,KAAKM,EAAmB,mBAAA,EAAE,SAASN,CAAI,CAC7E,EAKD,SAAU,CACR,KAAM,OACN,QAAS,EACV,EAMD,UAAW,CACT,KAAM,QACN,QAAS,EACV,EAMD,cAAe,CACb,KAAM,OACN,QAAS,MACV,CACF,EAED,MAAO,CAOL,OACD,EAED,MAAQ,CACN,MAAO,CACL,sBAAAC,EAAqB,sBACrB,sBAAAM,EAAqB,sBACrB,+BAAAC,EAA8B,+BAC9B,kBAAAC,EAAiB,kBACjB,wBAAyB,KACzB,kBAAmB,GACnB,aAAc,GACd,eAAAC,EAAc,eAEjB,EAED,SAAU,CACR,gBAAkB,CAChB,OAAOA,iBAAe,KAAK,OAAO,WAAW,CAC9C,EAED,YAAc,CACZ,MAAO,gBACR,EAED,eAAiB,CACf,MAAO,CACL,WACA,KAAK,OAAO,MACZT,EAAqB,sBAAC,KAAK,aAAa,EACxC,KAAK,YACL,CACE,kBAAmB,KAAK,UACxB,CAAC,mBAAmB,KAAK,SAAU,CAAA,EAAE,EAAG,CAAC,KAAK,WAAY,EAC1D,sBAAuB,KAAK,SAC7B,EAEJ,EAED,gBAAkB,CAChB,MAAO,CACL,oBACA,KAAK,aACL,CAAE,yBAA0B,KAAK,cAAgB,EAEpD,EAED,WAAa,CACX,OAAOI,EAAsB,uBAAC,KAAK,KAAK,CACzC,EAED,gBAAkB,CAChB,OAAO,KAAK,MAAQ,GAAK,MAAQ,KAAK,KACvC,EAED,eAAiB,CAEf,OAAO,KAAK,MAAQ,KAAO,KAAK,IACjC,EAED,WAAa,CACX,OAAO,KAAK,0BAA4B,IAAS,KAAK,QACvD,CACF,EAED,MAAO,CACL,SAAU,CACR,UAAW,GACX,SAAW,CACT,KAAK,eAAc,CACpB,CACF,EAED,KAAM,CACJ,UAAW,GACX,SAAW,CACT,KAAK,eAAc,CACpB,CACF,EAED,MAAO,CACL,UAAW,GACX,SAAW,CACT,KAAK,eAAc,CACpB,CACF,EAED,SAAUM,EAAQ,CAChB,KAAK,wBAA0B,KAC1BA,IAEL,KAAK,cAAa,EAClB,KAAK,kBAAiB,EACvB,CACF,EAED,SAAW,CACT,KAAK,cAAa,EAClB,KAAK,kBAAiB,CACvB,EAED,QAAS,CACP,YAAc,CACZ,OAAOD,iBAAe,KAAK,OAAO,IAAI,CACvC,EAED,MAAM,mBAAqB,CACzB,MAAM,KAAK,YACX,MAAME,EAAK,KAAK,MAAM,YACjBA,IAELA,EAAG,iBAAiB,OAAQ,IAAM,KAAK,yBAAyBA,CAAE,EAAG,CAAE,KAAM,EAAG,CAAG,EACnFA,EAAG,iBAAiB,QAAS,IAAM,KAAK,0BAA0BA,CAAE,EAAG,CAAE,KAAM,EAAG,CAAG,EACtF,EAED,gBAAkB,CAChB,MAAMC,EAAWC,EAAAA,wBAAwB,KAAK,QAAQ,EAElD,KAAK,gBAAkB,KACzB,KAAK,kBAAoB,GAChB,KAAK,gBAAkB,KAChC,KAAK,kBAAoBD,EAAS,CAAC,EAEnC,KAAK,kBAAoBA,CAE5B,EAED,UAAY,CACV,OAAO,KAAK,OAASE,EAAAA,iBAAiBC,EAAAA,qBAAsB,KAAK,IAAI,CACtE,EAED,yBAA0BJ,EAAI,CAC5B,KAAK,wBAA0B,GAC/BA,EAAG,UAAU,OAAO,UAAU,CAC/B,EAED,0BAA2BA,EAAI,CAC7B,KAAK,wBAA0B,GAC/BA,EAAG,UAAU,IAAI,UAAU,CAC5B,EAED,eAAiB,CACX,KAAK,UAAY,KAAK,WAAa,QACrC,QAAQ,MAAM,uHAAuH,CAExI,EAED,YAAaK,EAAG,CACT,KAAK,WACV,KAAK,MAAM,QAASA,CAAC,CACtB,CACF,CACH,EA7aAC,EAAA,CAAA,MAAA,KAAA,EAAAC,EAAA,CAAA,aAAA,UAAA,MAAA,KAAA,IAAA,EAwDQ,MAAM,6BAxDd,IAAA,EA+DM,MAAM,kBACN,UAAQ,0GA/DZC,EAAAA,YADFC,0BAESC,EAAS,UAAA,SAAA,KAAA,EAAA,CACb,GAAIA,EAAE,GACN,MAJLC,EAAAA,eAIYC,EAAa,aAAA,EACpB,MALLC,EAAA,eAKYC,EAAM,OAAC,KAAK,EACpB,UAAQ,YACP,QAAOF,EAAW,cAPvB,QAAAG,EAAA,QASI,IAmCM,CAnCNC,EAAAA,mBAmCM,MAAA,CAlCJ,IAAI,SACH,MAXPL,EAAAA,eAAA,CAWwBD,EAAW,yDAAkEO,EAAuB,uBAAA,MAO9GL,EAAS,yBADjBM,EAOC,mBAAA,MAAA,CAxBP,IAAA,EAmBQ,IAAI,cACJ,MAAM,kBACN,UAAQ,kBACP,IAAKR,EAAQ,SACb,IAAKA,EAAQ,QAvBtB,EAAA,KAAA,EAAAJ,CAAA,GA0BmBM,EAAU,WAAA,iBADvBM,EAYM,mBAAA,MAAA,CArCZ,IAAA,EA2BS,MA3BTP,EA2BiB,eAAA,CAAAD,EAAA,UAAWO,EAAA,sBAAsB,IAAI,CAAA,EAC7C,aAAYP,EAAS,UAAGA,EAAa,cAAA,GACrC,UAASE,EAAU,WACnB,KAAMF,EAAS,UAAA,SAAA,KAGhBS,aAGEL,EAAA,OAAA,OAAA,CADC,SAAWJ,EAAA,UAAYO,EAAA,kBAAkBP,EAAI,IAAA,GAnCxD,EAAA,GAAAH,CAAA,kBAsCMW,EAKO,mBAAA,OAAA,CA3Cb,IAAA,EAwCS,MAxCTP,EAAAA,eAAA,CAwCiBM,EAAqB,sBAAC,QAAQ,CAAA,qBAEpCA,EAAiB,iBAAA,EAAA,CAAA,OAIhBL,EAAA,gBAAkBF,EAAW,2BADrCQ,EAeM,mBAAA,MAAA,CA5DV,IAAA,EA+CO,MA/CPP,EAAAA,eA+CcC,EAAc,cAAA,IAIdA,EAAc,eADtBO,EAAA,WAGEL,wBArDR,IAAA,EAAA,EAuDmBJ,EAAW,2BADxBQ,EAKI,mBAAA,IALJE,EAKIC,EAAAA,gBADCX,EAAW,WAAA,EAAA,CAAA,GA1DtBY,EAAA,mBAAA,GAAA,EAAA,OAAAA,EAAA,mBAAA,GAAA,EAAA,EA8DYV,EAAS,yBADjBM,EAI4B,mBAAA,OAJ5BK,EAI4BF,EAAAA,gBAAxBT,EAAc,cAAA,EAAA,CAAA,GAjEtBU,EAAA,mBAAA,GAAA,EAAA,EAmEYZ,EAAA,WAAaE,EAAS,WAD9BY,EAAAA,YAAAhB,EAAAA,YASEiB,EATFC,aASE,CA3EN,IAAA,EAoEO,SAAUhB,EAAQ,SAClB,MAAK,sBAA0CO,EAAA,+BAA+BP,EAAI,IAAA,IAI3EA,EAAa,cAAA,CACrB,UAAQ,aAAa,CAAA,EAAA,KAAA,GAAA,CAAA,WAAA,OAAA,CAAA,GA1E3BY,EAAA,mBAAA,GAAA,EAAA,IAAA,EAAA"}
1
+ {"version":3,"file":"avatar.cjs","sources":["../../../components/avatar/avatar.vue"],"sourcesContent":["<template>\n <component\n :is=\"clickable ? 'button' : 'div'\"\n :id=\"id\"\n :class=\"avatarClasses\"\n :style=\"$attrs.style\"\n data-qa=\"dt-avatar\"\n @click=\"handleClick\"\n >\n <div\n ref=\"canvas\"\n :class=\"[\n canvasClass,\n 'd-avatar__canvas',\n { 'd-avatar--image-loaded': imageLoadedSuccessfully },\n ]\"\n >\n <img\n v-if=\"showImage\"\n ref=\"avatarImage\"\n class=\"d-avatar__image\"\n data-qa=\"dt-avatar-image\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n <div\n v-else-if=\"isIconType()\"\n :class=\"[iconClass, AVATAR_KIND_MODIFIERS.icon]\"\n :aria-label=\"clickable ? iconAriaLabel : ''\"\n :data-qa=\"iconDataQa\"\n :role=\"clickable ? 'button' : ''\"\n >\n <!-- @slot Slot for avatar icon. It will display if no imageSrc is provided -->\n <slot\n name=\"icon\"\n :icon-size=\"iconSize || AVATAR_ICON_SIZES[size]\"\n />\n </div>\n <span\n v-else\n :class=\"[AVATAR_KIND_MODIFIERS.initials]\"\n >\n {{ formattedInitials }}\n </span>\n </div>\n <div\n v-if=\"hasOverlayIcon || overlayText\"\n :class=\"overlayClasses\"\n >\n <!-- @slot Slot for overlay icon. -->\n <slot\n v-if=\"hasOverlayIcon\"\n name=\"overlayIcon\"\n />\n <p\n v-else-if=\"overlayText\"\n class=\"d-avatar__overlay-text\"\n >\n {{ overlayText }}\n </p>\n </div>\n <span\n v-if=\"showGroup\"\n class=\"d-avatar__count\"\n data-qa=\"dt-avatar-count\"\n >{{ formattedGroup }}</span>\n <dt-presence\n v-if=\"presence && !showGroup\"\n :presence=\"presence\"\n :class=\"[\n 'd-avatar__presence',\n AVATAR_PRESENCE_SIZE_MODIFIERS[size],\n ]\"\n v-bind=\"presenceProps\"\n data-qa=\"dt-presence\"\n />\n </component>\n</template>\n\n<script>\nimport { getUniqueString, getRandomElement, hasSlotContent } from '@/common/utils';\nimport { DtPresence } from '../presence';\nimport {\n AVATAR_KIND_MODIFIERS,\n AVATAR_SIZE_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n AVATAR_PRESENCE_STATES,\n AVATAR_RANDOM_COLORS,\n AVATAR_GROUP_VALIDATOR,\n AVATAR_ICON_SIZES,\n} from './avatar_constants';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants.js';\nimport { extractInitialsFromName } from './utils';\n\n/**\n * An avatar is a visual representation of a user or object.\n * @see https://dialtone.dialpad.com/components/avatar.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtAvatar',\n components: { DtPresence },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the avatar content wrapper element\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Pass in a seed to get the random color generation based on that string. For example if you pass in a\n * user ID as the string it will return the same randomly generated colors every time for that user.\n */\n seed: {\n type: String,\n default: undefined,\n },\n\n /**\n * Set the avatar background to a specific color. If undefined will randomize the color which can be deterministic\n * if the seed prop is set.\n */\n color: {\n type: String,\n default: undefined,\n },\n\n /**\n * The size of the avatar\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (size) => Object.keys(AVATAR_SIZE_MODIFIERS).includes(size),\n },\n\n /**\n * Used to customize the avatar container\n */\n avatarClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Set classes on the avatar canvas. Wrapper around the core avatar image.\n */\n canvasClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through classes. Used to customize the avatar icon\n */\n iconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * @values null, busy, away, offline, active\n */\n presence: {\n type: String,\n default: AVATAR_PRESENCE_STATES.NONE,\n validator: (state) => {\n return Object.values(AVATAR_PRESENCE_STATES).includes(state);\n },\n },\n\n /**\n * A set of props to be passed into the presence component.\n */\n presenceProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Determines whether to show a group avatar.\n * Limit to 2 digits max, more than 99 will be rendered as “99+”.\n * if the number is 1 or less it would just show the regular avatar as if group had not been set.\n */\n group: {\n type: Number,\n default: undefined,\n validator: (group) => AVATAR_GROUP_VALIDATOR(group),\n },\n\n /**\n * The text that overlays the avatar\n */\n overlayText: {\n type: String,\n default: '',\n },\n\n /**\n * Used to customize the avatar overlay\n */\n overlayClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Source of the image\n */\n imageSrc: {\n type: String,\n default: '',\n },\n\n /**\n * Alt attribute of the image, required if imageSrc is provided.\n * Can be set to '' (empty string) if the image is described\n * in text nearby\n */\n imageAlt: {\n type: String,\n default: undefined,\n },\n\n /**\n * Icon size to be displayed on the avatar\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n iconSize: {\n type: String,\n default: '',\n validator: (size) => !size || Object.keys(ICON_SIZE_MODIFIERS).includes(size),\n },\n\n /**\n * Full name used to extract initials.\n */\n fullName: {\n type: String,\n default: '',\n },\n\n /**\n * Makes the avatar focusable and clickable,\n * emits a click event when clicked.\n */\n clickable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Descriptive label for the icon.\n * To avoid a11y issues, set this prop if clickable and iconName are set.\n */\n iconAriaLabel: {\n type: String,\n default: undefined,\n },\n },\n\n emits: [\n /**\n * Avatar click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n AVATAR_SIZE_MODIFIERS,\n AVATAR_KIND_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n AVATAR_ICON_SIZES,\n imageLoadedSuccessfully: null,\n formattedInitials: '',\n initializing: false,\n hasSlotContent,\n };\n },\n\n computed: {\n hasOverlayIcon () {\n return hasSlotContent(this.$slots.overlayIcon);\n },\n\n iconDataQa () {\n return 'dt-avatar-icon';\n },\n\n avatarClasses () {\n return [\n 'd-avatar',\n this.$attrs.class,\n AVATAR_SIZE_MODIFIERS[this.validatedSize],\n this.avatarClass,\n {\n 'd-avatar--group': this.showGroup,\n [`d-avatar--color-${this.getColor()}`]: !this.isIconType(),\n 'd-avatar--clickable': this.clickable,\n },\n ];\n },\n\n overlayClasses () {\n return [\n 'd-avatar__overlay',\n this.overlayClass,\n { 'd-avatar__overlay-icon': this.hasOverlayIcon },\n ];\n },\n\n showGroup () {\n return AVATAR_GROUP_VALIDATOR(this.group);\n },\n\n formattedGroup () {\n return this.group > 99 ? '99+' : this.group;\n },\n\n validatedSize () {\n // TODO: Group only supports xs size for now. Remove this when we support other sizes.\n return this.group ? 'xs' : this.size;\n },\n\n showImage () {\n return this.imageLoadedSuccessfully !== false && this.imageSrc;\n },\n },\n\n watch: {\n fullName: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n size: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n group: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n imageSrc (newSrc) {\n this.imageLoadedSuccessfully = null;\n if (!newSrc) return;\n\n this.validateProps();\n this.setImageListeners();\n },\n },\n\n mounted () {\n this.validateProps();\n this.setImageListeners();\n },\n\n methods: {\n isIconType () {\n return hasSlotContent(this.$slots.icon);\n },\n\n async setImageListeners () {\n await this.$nextTick();\n const el = this.$refs.avatarImage;\n if (!el) return;\n\n el.addEventListener('load', () => this._loadedImageEventHandler(el), { once: true });\n el.addEventListener('error', () => this._erroredImageEventHandler(el), { once: true });\n },\n\n formatInitials () {\n const initials = extractInitialsFromName(this.fullName);\n\n if (this.validatedSize === 'xs') {\n this.formattedInitials = '';\n } else if (this.validatedSize === 'sm') {\n this.formattedInitials = initials[0];\n } else {\n this.formattedInitials = initials;\n }\n },\n\n getColor () {\n return this.color ?? getRandomElement(AVATAR_RANDOM_COLORS, this.seed);\n },\n\n _loadedImageEventHandler (el) {\n this.imageLoadedSuccessfully = true;\n el.classList.remove('d-d-none');\n },\n\n _erroredImageEventHandler (el) {\n this.imageLoadedSuccessfully = false;\n el.classList.add('d-d-none');\n },\n\n validateProps () {\n if (this.imageSrc && this.imageAlt === undefined) {\n console.error('image-alt required if image-src is provided. Can be set to \"\" (empty string) if the image is described in text nearby');\n }\n },\n\n handleClick (e) {\n if (!this.clickable) return;\n this.$emit('click', e);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtPresence","getUniqueString","size","AVATAR_SIZE_MODIFIERS","AVATAR_PRESENCE_STATES","state","group","AVATAR_GROUP_VALIDATOR","ICON_SIZE_MODIFIERS","AVATAR_KIND_MODIFIERS","AVATAR_PRESENCE_SIZE_MODIFIERS","AVATAR_ICON_SIZES","hasSlotContent","newSrc","el","initials","extractInitialsFromName","getRandomElement","AVATAR_RANDOM_COLORS","e","_hoisted_1","_hoisted_2","_createBlock","_resolveDynamicComponent","$props","_normalizeClass","$options","_normalizeStyle","_ctx","_withCtx","_createElementVNode","$data","_createElementBlock","_renderSlot","_hoisted_3","_toDisplayString","_createCommentVNode","_hoisted_4","_openBlock","_component_dt_presence","_mergeProps"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { getUniqueString as y, hasSlotContent as d, getRandomElement as g } from "../../common/utils/index.js";
2
- import { AVATAR_SIZE_MODIFIERS as o, AVATAR_PRESENCE_STATES as u, AVATAR_GROUP_VALIDATOR as m, AVATAR_KIND_MODIFIERS as _, AVATAR_PRESENCE_SIZE_MODIFIERS as S, AVATAR_ICON_SIZES as I, AVATAR_RANDOM_COLORS as A } from "./avatar-constants.js";
1
+ import { getRandomElement as y, hasSlotContent as d, getUniqueString as g } from "../../common/utils/index.js";
2
+ import { AVATAR_GROUP_VALIDATOR as u, AVATAR_PRESENCE_STATES as m, AVATAR_SIZE_MODIFIERS as o, AVATAR_ICON_SIZES as _, AVATAR_PRESENCE_SIZE_MODIFIERS as S, AVATAR_KIND_MODIFIERS as I, AVATAR_RANDOM_COLORS as A } from "./avatar-constants.js";
3
3
  import { ICON_SIZE_MODIFIERS as E } from "../icon/icon-constants.js";
4
4
  import { extractInitialsFromName as C } from "./utils.js";
5
- import { resolveComponent as p, openBlock as r, createBlock as f, resolveDynamicComponent as O, normalizeClass as l, normalizeStyle as k, withCtx as R, createElementVNode as b, createElementBlock as s, renderSlot as v, toDisplayString as c, createCommentVNode as n, mergeProps as T } from "vue";
5
+ import { resolveComponent as p, createBlock as f, openBlock as r, resolveDynamicComponent as O, normalizeStyle as k, normalizeClass as l, withCtx as R, createElementVNode as b, createElementBlock as s, createCommentVNode as n, renderSlot as v, toDisplayString as c, mergeProps as T } from "vue";
6
6
  import { _ as D } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
7
7
  import N from "../presence/presence.js";
8
8
  const L = {
@@ -17,7 +17,7 @@ const L = {
17
17
  id: {
18
18
  type: String,
19
19
  default() {
20
- return y();
20
+ return g();
21
21
  }
22
22
  },
23
23
  /**
@@ -74,8 +74,8 @@ const L = {
74
74
  */
75
75
  presence: {
76
76
  type: String,
77
- default: u.NONE,
78
- validator: (e) => Object.values(u).includes(e)
77
+ default: m.NONE,
78
+ validator: (e) => Object.values(m).includes(e)
79
79
  },
80
80
  /**
81
81
  * A set of props to be passed into the presence component.
@@ -92,7 +92,7 @@ const L = {
92
92
  group: {
93
93
  type: Number,
94
94
  default: void 0,
95
- validator: (e) => m(e)
95
+ validator: (e) => u(e)
96
96
  },
97
97
  /**
98
98
  * The text that overlays the avatar
@@ -169,9 +169,9 @@ const L = {
169
169
  data() {
170
170
  return {
171
171
  AVATAR_SIZE_MODIFIERS: o,
172
- AVATAR_KIND_MODIFIERS: _,
172
+ AVATAR_KIND_MODIFIERS: I,
173
173
  AVATAR_PRESENCE_SIZE_MODIFIERS: S,
174
- AVATAR_ICON_SIZES: I,
174
+ AVATAR_ICON_SIZES: _,
175
175
  imageLoadedSuccessfully: null,
176
176
  formattedInitials: "",
177
177
  initializing: !1,
@@ -206,7 +206,7 @@ const L = {
206
206
  ];
207
207
  },
208
208
  showGroup() {
209
- return m(this.group);
209
+ return u(this.group);
210
210
  },
211
211
  formattedGroup() {
212
212
  return this.group > 99 ? "99+" : this.group;
@@ -258,7 +258,7 @@ const L = {
258
258
  this.validatedSize === "xs" ? this.formattedInitials = "" : this.validatedSize === "sm" ? this.formattedInitials = e[0] : this.formattedInitials = e;
259
259
  },
260
260
  getColor() {
261
- return this.color ?? g(A, this.seed);
261
+ return this.color ?? y(A, this.seed);
262
262
  },
263
263
  _loadedImageEventHandler(e) {
264
264
  this.imageLoadedSuccessfully = !0, e.classList.remove("d-d-none");
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.js","sources":["../../../components/avatar/avatar.vue"],"sourcesContent":["<template>\n <component\n :is=\"clickable ? 'button' : 'div'\"\n :id=\"id\"\n :class=\"avatarClasses\"\n :style=\"$attrs.style\"\n data-qa=\"dt-avatar\"\n @click=\"handleClick\"\n >\n <div\n ref=\"canvas\"\n :class=\"[\n canvasClass,\n 'd-avatar__canvas',\n { 'd-avatar--image-loaded': imageLoadedSuccessfully },\n ]\"\n >\n <img\n v-if=\"showImage\"\n ref=\"avatarImage\"\n class=\"d-avatar__image\"\n data-qa=\"dt-avatar-image\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n <div\n v-else-if=\"isIconType()\"\n :class=\"[iconClass, AVATAR_KIND_MODIFIERS.icon]\"\n :aria-label=\"clickable ? iconAriaLabel : ''\"\n :data-qa=\"iconDataQa\"\n :role=\"clickable ? 'button' : ''\"\n >\n <!-- @slot Slot for avatar icon. It will display if no imageSrc is provided -->\n <slot\n name=\"icon\"\n :icon-size=\"iconSize || AVATAR_ICON_SIZES[size]\"\n />\n </div>\n <span\n v-else\n :class=\"[AVATAR_KIND_MODIFIERS.initials]\"\n >\n {{ formattedInitials }}\n </span>\n </div>\n <div\n v-if=\"hasOverlayIcon || overlayText\"\n :class=\"overlayClasses\"\n >\n <!-- @slot Slot for overlay icon. -->\n <slot\n v-if=\"hasOverlayIcon\"\n name=\"overlayIcon\"\n />\n <p\n v-else-if=\"overlayText\"\n class=\"d-avatar__overlay-text\"\n >\n {{ overlayText }}\n </p>\n </div>\n <span\n v-if=\"showGroup\"\n class=\"d-avatar__count\"\n data-qa=\"dt-avatar-count\"\n >{{ formattedGroup }}</span>\n <dt-presence\n v-if=\"presence && !showGroup\"\n :presence=\"presence\"\n :class=\"[\n 'd-avatar__presence',\n AVATAR_PRESENCE_SIZE_MODIFIERS[size],\n ]\"\n v-bind=\"presenceProps\"\n data-qa=\"dt-presence\"\n />\n </component>\n</template>\n\n<script>\nimport { getUniqueString, getRandomElement, hasSlotContent } from '@/common/utils';\nimport { DtPresence } from '../presence';\nimport {\n AVATAR_KIND_MODIFIERS,\n AVATAR_SIZE_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n AVATAR_PRESENCE_STATES,\n AVATAR_RANDOM_COLORS,\n AVATAR_GROUP_VALIDATOR,\n AVATAR_ICON_SIZES,\n} from './avatar_constants';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants.js';\nimport { extractInitialsFromName } from './utils';\n\n/**\n * An avatar is a visual representation of a user or object.\n * @see https://dialtone.dialpad.com/components/avatar.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtAvatar',\n components: { DtPresence },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the avatar content wrapper element\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Pass in a seed to get the random color generation based on that string. For example if you pass in a\n * user ID as the string it will return the same randomly generated colors every time for that user.\n */\n seed: {\n type: String,\n default: undefined,\n },\n\n /**\n * Set the avatar background to a specific color. If undefined will randomize the color which can be deterministic\n * if the seed prop is set.\n */\n color: {\n type: String,\n default: undefined,\n },\n\n /**\n * The size of the avatar\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (size) => Object.keys(AVATAR_SIZE_MODIFIERS).includes(size),\n },\n\n /**\n * Used to customize the avatar container\n */\n avatarClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Set classes on the avatar canvas. Wrapper around the core avatar image.\n */\n canvasClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through classes. Used to customize the avatar icon\n */\n iconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * @values null, busy, away, offline, active\n */\n presence: {\n type: String,\n default: AVATAR_PRESENCE_STATES.NONE,\n validator: (state) => {\n return Object.values(AVATAR_PRESENCE_STATES).includes(state);\n },\n },\n\n /**\n * A set of props to be passed into the presence component.\n */\n presenceProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Determines whether to show a group avatar.\n * Limit to 2 digits max, more than 99 will be rendered as “99+”.\n * if the number is 1 or less it would just show the regular avatar as if group had not been set.\n */\n group: {\n type: Number,\n default: undefined,\n validator: (group) => AVATAR_GROUP_VALIDATOR(group),\n },\n\n /**\n * The text that overlays the avatar\n */\n overlayText: {\n type: String,\n default: '',\n },\n\n /**\n * Used to customize the avatar overlay\n */\n overlayClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Source of the image\n */\n imageSrc: {\n type: String,\n default: '',\n },\n\n /**\n * Alt attribute of the image, required if imageSrc is provided.\n * Can be set to '' (empty string) if the image is described\n * in text nearby\n */\n imageAlt: {\n type: String,\n default: undefined,\n },\n\n /**\n * Icon size to be displayed on the avatar\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n iconSize: {\n type: String,\n default: '',\n validator: (size) => !size || Object.keys(ICON_SIZE_MODIFIERS).includes(size),\n },\n\n /**\n * Full name used to extract initials.\n */\n fullName: {\n type: String,\n default: '',\n },\n\n /**\n * Makes the avatar focusable and clickable,\n * emits a click event when clicked.\n */\n clickable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Descriptive label for the icon.\n * To avoid a11y issues, set this prop if clickable and iconName are set.\n */\n iconAriaLabel: {\n type: String,\n default: undefined,\n },\n },\n\n emits: [\n /**\n * Avatar click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n AVATAR_SIZE_MODIFIERS,\n AVATAR_KIND_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n AVATAR_ICON_SIZES,\n imageLoadedSuccessfully: null,\n formattedInitials: '',\n initializing: false,\n hasSlotContent,\n };\n },\n\n computed: {\n hasOverlayIcon () {\n return hasSlotContent(this.$slots.overlayIcon);\n },\n\n iconDataQa () {\n return 'dt-avatar-icon';\n },\n\n avatarClasses () {\n return [\n 'd-avatar',\n this.$attrs.class,\n AVATAR_SIZE_MODIFIERS[this.validatedSize],\n this.avatarClass,\n {\n 'd-avatar--group': this.showGroup,\n [`d-avatar--color-${this.getColor()}`]: !this.isIconType(),\n 'd-avatar--clickable': this.clickable,\n },\n ];\n },\n\n overlayClasses () {\n return [\n 'd-avatar__overlay',\n this.overlayClass,\n { 'd-avatar__overlay-icon': this.hasOverlayIcon },\n ];\n },\n\n showGroup () {\n return AVATAR_GROUP_VALIDATOR(this.group);\n },\n\n formattedGroup () {\n return this.group > 99 ? '99+' : this.group;\n },\n\n validatedSize () {\n // TODO: Group only supports xs size for now. Remove this when we support other sizes.\n return this.group ? 'xs' : this.size;\n },\n\n showImage () {\n return this.imageLoadedSuccessfully !== false && this.imageSrc;\n },\n },\n\n watch: {\n fullName: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n size: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n group: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n imageSrc (newSrc) {\n this.imageLoadedSuccessfully = null;\n if (!newSrc) return;\n\n this.validateProps();\n this.setImageListeners();\n },\n },\n\n mounted () {\n this.validateProps();\n this.setImageListeners();\n },\n\n methods: {\n isIconType () {\n return hasSlotContent(this.$slots.icon);\n },\n\n async setImageListeners () {\n await this.$nextTick();\n const el = this.$refs.avatarImage;\n if (!el) return;\n\n el.addEventListener('load', () => this._loadedImageEventHandler(el), { once: true });\n el.addEventListener('error', () => this._erroredImageEventHandler(el), { once: true });\n },\n\n formatInitials () {\n const initials = extractInitialsFromName(this.fullName);\n\n if (this.validatedSize === 'xs') {\n this.formattedInitials = '';\n } else if (this.validatedSize === 'sm') {\n this.formattedInitials = initials[0];\n } else {\n this.formattedInitials = initials;\n }\n },\n\n getColor () {\n return this.color ?? getRandomElement(AVATAR_RANDOM_COLORS, this.seed);\n },\n\n _loadedImageEventHandler (el) {\n this.imageLoadedSuccessfully = true;\n el.classList.remove('d-d-none');\n },\n\n _erroredImageEventHandler (el) {\n this.imageLoadedSuccessfully = false;\n el.classList.add('d-d-none');\n },\n\n validateProps () {\n if (this.imageSrc && this.imageAlt === undefined) {\n console.error('image-alt required if image-src is provided. Can be set to \"\" (empty string) if the image is described in text nearby');\n }\n },\n\n handleClick (e) {\n if (!this.clickable) return;\n this.$emit('click', e);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtPresence","getUniqueString","size","AVATAR_SIZE_MODIFIERS","AVATAR_PRESENCE_STATES","state","group","AVATAR_GROUP_VALIDATOR","ICON_SIZE_MODIFIERS","AVATAR_KIND_MODIFIERS","AVATAR_PRESENCE_SIZE_MODIFIERS","AVATAR_ICON_SIZES","hasSlotContent","newSrc","el","initials","extractInitialsFromName","getRandomElement","AVATAR_RANDOM_COLORS","_hoisted_1","_hoisted_2","_createBlock","_resolveDynamicComponent","$props","_normalizeClass","$options","_normalizeStyle","_ctx","_withCtx","_createElementVNode","$data","_createElementBlock","_renderSlot","_hoisted_3","_toDisplayString","_createCommentVNode","_hoisted_4","_openBlock","_component_dt_presence","_mergeProps"],"mappings":"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"}
1
+ {"version":3,"file":"avatar.js","sources":["../../../components/avatar/avatar.vue"],"sourcesContent":["<template>\n <component\n :is=\"clickable ? 'button' : 'div'\"\n :id=\"id\"\n :class=\"avatarClasses\"\n :style=\"$attrs.style\"\n data-qa=\"dt-avatar\"\n @click=\"handleClick\"\n >\n <div\n ref=\"canvas\"\n :class=\"[\n canvasClass,\n 'd-avatar__canvas',\n { 'd-avatar--image-loaded': imageLoadedSuccessfully },\n ]\"\n >\n <img\n v-if=\"showImage\"\n ref=\"avatarImage\"\n class=\"d-avatar__image\"\n data-qa=\"dt-avatar-image\"\n :src=\"imageSrc\"\n :alt=\"imageAlt\"\n >\n <div\n v-else-if=\"isIconType()\"\n :class=\"[iconClass, AVATAR_KIND_MODIFIERS.icon]\"\n :aria-label=\"clickable ? iconAriaLabel : ''\"\n :data-qa=\"iconDataQa\"\n :role=\"clickable ? 'button' : ''\"\n >\n <!-- @slot Slot for avatar icon. It will display if no imageSrc is provided -->\n <slot\n name=\"icon\"\n :icon-size=\"iconSize || AVATAR_ICON_SIZES[size]\"\n />\n </div>\n <span\n v-else\n :class=\"[AVATAR_KIND_MODIFIERS.initials]\"\n >\n {{ formattedInitials }}\n </span>\n </div>\n <div\n v-if=\"hasOverlayIcon || overlayText\"\n :class=\"overlayClasses\"\n >\n <!-- @slot Slot for overlay icon. -->\n <slot\n v-if=\"hasOverlayIcon\"\n name=\"overlayIcon\"\n />\n <p\n v-else-if=\"overlayText\"\n class=\"d-avatar__overlay-text\"\n >\n {{ overlayText }}\n </p>\n </div>\n <span\n v-if=\"showGroup\"\n class=\"d-avatar__count\"\n data-qa=\"dt-avatar-count\"\n >{{ formattedGroup }}</span>\n <dt-presence\n v-if=\"presence && !showGroup\"\n :presence=\"presence\"\n :class=\"[\n 'd-avatar__presence',\n AVATAR_PRESENCE_SIZE_MODIFIERS[size],\n ]\"\n v-bind=\"presenceProps\"\n data-qa=\"dt-presence\"\n />\n </component>\n</template>\n\n<script>\nimport { getUniqueString, getRandomElement, hasSlotContent } from '@/common/utils';\nimport { DtPresence } from '../presence';\nimport {\n AVATAR_KIND_MODIFIERS,\n AVATAR_SIZE_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n AVATAR_PRESENCE_STATES,\n AVATAR_RANDOM_COLORS,\n AVATAR_GROUP_VALIDATOR,\n AVATAR_ICON_SIZES,\n} from './avatar_constants';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon/icon_constants.js';\nimport { extractInitialsFromName } from './utils';\n\n/**\n * An avatar is a visual representation of a user or object.\n * @see https://dialtone.dialpad.com/components/avatar.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtAvatar',\n components: { DtPresence },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id of the avatar content wrapper element\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * Pass in a seed to get the random color generation based on that string. For example if you pass in a\n * user ID as the string it will return the same randomly generated colors every time for that user.\n */\n seed: {\n type: String,\n default: undefined,\n },\n\n /**\n * Set the avatar background to a specific color. If undefined will randomize the color which can be deterministic\n * if the seed prop is set.\n */\n color: {\n type: String,\n default: undefined,\n },\n\n /**\n * The size of the avatar\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (size) => Object.keys(AVATAR_SIZE_MODIFIERS).includes(size),\n },\n\n /**\n * Used to customize the avatar container\n */\n avatarClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Set classes on the avatar canvas. Wrapper around the core avatar image.\n */\n canvasClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Pass through classes. Used to customize the avatar icon\n */\n iconClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Determines whether to show the presence indicator for\n * Avatar - accepts PRESENCE_STATES values: 'busy', 'away', 'offline',\n * or 'active'. By default, it's null and nothing is shown.\n * @values null, busy, away, offline, active\n */\n presence: {\n type: String,\n default: AVATAR_PRESENCE_STATES.NONE,\n validator: (state) => {\n return Object.values(AVATAR_PRESENCE_STATES).includes(state);\n },\n },\n\n /**\n * A set of props to be passed into the presence component.\n */\n presenceProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Determines whether to show a group avatar.\n * Limit to 2 digits max, more than 99 will be rendered as “99+”.\n * if the number is 1 or less it would just show the regular avatar as if group had not been set.\n */\n group: {\n type: Number,\n default: undefined,\n validator: (group) => AVATAR_GROUP_VALIDATOR(group),\n },\n\n /**\n * The text that overlays the avatar\n */\n overlayText: {\n type: String,\n default: '',\n },\n\n /**\n * Used to customize the avatar overlay\n */\n overlayClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Source of the image\n */\n imageSrc: {\n type: String,\n default: '',\n },\n\n /**\n * Alt attribute of the image, required if imageSrc is provided.\n * Can be set to '' (empty string) if the image is described\n * in text nearby\n */\n imageAlt: {\n type: String,\n default: undefined,\n },\n\n /**\n * Icon size to be displayed on the avatar\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n iconSize: {\n type: String,\n default: '',\n validator: (size) => !size || Object.keys(ICON_SIZE_MODIFIERS).includes(size),\n },\n\n /**\n * Full name used to extract initials.\n */\n fullName: {\n type: String,\n default: '',\n },\n\n /**\n * Makes the avatar focusable and clickable,\n * emits a click event when clicked.\n */\n clickable: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Descriptive label for the icon.\n * To avoid a11y issues, set this prop if clickable and iconName are set.\n */\n iconAriaLabel: {\n type: String,\n default: undefined,\n },\n },\n\n emits: [\n /**\n * Avatar click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n AVATAR_SIZE_MODIFIERS,\n AVATAR_KIND_MODIFIERS,\n AVATAR_PRESENCE_SIZE_MODIFIERS,\n AVATAR_ICON_SIZES,\n imageLoadedSuccessfully: null,\n formattedInitials: '',\n initializing: false,\n hasSlotContent,\n };\n },\n\n computed: {\n hasOverlayIcon () {\n return hasSlotContent(this.$slots.overlayIcon);\n },\n\n iconDataQa () {\n return 'dt-avatar-icon';\n },\n\n avatarClasses () {\n return [\n 'd-avatar',\n this.$attrs.class,\n AVATAR_SIZE_MODIFIERS[this.validatedSize],\n this.avatarClass,\n {\n 'd-avatar--group': this.showGroup,\n [`d-avatar--color-${this.getColor()}`]: !this.isIconType(),\n 'd-avatar--clickable': this.clickable,\n },\n ];\n },\n\n overlayClasses () {\n return [\n 'd-avatar__overlay',\n this.overlayClass,\n { 'd-avatar__overlay-icon': this.hasOverlayIcon },\n ];\n },\n\n showGroup () {\n return AVATAR_GROUP_VALIDATOR(this.group);\n },\n\n formattedGroup () {\n return this.group > 99 ? '99+' : this.group;\n },\n\n validatedSize () {\n // TODO: Group only supports xs size for now. Remove this when we support other sizes.\n return this.group ? 'xs' : this.size;\n },\n\n showImage () {\n return this.imageLoadedSuccessfully !== false && this.imageSrc;\n },\n },\n\n watch: {\n fullName: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n size: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n group: {\n immediate: true,\n handler () {\n this.formatInitials();\n },\n },\n\n imageSrc (newSrc) {\n this.imageLoadedSuccessfully = null;\n if (!newSrc) return;\n\n this.validateProps();\n this.setImageListeners();\n },\n },\n\n mounted () {\n this.validateProps();\n this.setImageListeners();\n },\n\n methods: {\n isIconType () {\n return hasSlotContent(this.$slots.icon);\n },\n\n async setImageListeners () {\n await this.$nextTick();\n const el = this.$refs.avatarImage;\n if (!el) return;\n\n el.addEventListener('load', () => this._loadedImageEventHandler(el), { once: true });\n el.addEventListener('error', () => this._erroredImageEventHandler(el), { once: true });\n },\n\n formatInitials () {\n const initials = extractInitialsFromName(this.fullName);\n\n if (this.validatedSize === 'xs') {\n this.formattedInitials = '';\n } else if (this.validatedSize === 'sm') {\n this.formattedInitials = initials[0];\n } else {\n this.formattedInitials = initials;\n }\n },\n\n getColor () {\n return this.color ?? getRandomElement(AVATAR_RANDOM_COLORS, this.seed);\n },\n\n _loadedImageEventHandler (el) {\n this.imageLoadedSuccessfully = true;\n el.classList.remove('d-d-none');\n },\n\n _erroredImageEventHandler (el) {\n this.imageLoadedSuccessfully = false;\n el.classList.add('d-d-none');\n },\n\n validateProps () {\n if (this.imageSrc && this.imageAlt === undefined) {\n console.error('image-alt required if image-src is provided. Can be set to \"\" (empty string) if the image is described in text nearby');\n }\n },\n\n handleClick (e) {\n if (!this.clickable) return;\n this.$emit('click', e);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtPresence","getUniqueString","size","AVATAR_SIZE_MODIFIERS","AVATAR_PRESENCE_STATES","state","group","AVATAR_GROUP_VALIDATOR","ICON_SIZE_MODIFIERS","AVATAR_KIND_MODIFIERS","AVATAR_PRESENCE_SIZE_MODIFIERS","AVATAR_ICON_SIZES","hasSlotContent","newSrc","el","initials","extractInitialsFromName","getRandomElement","AVATAR_RANDOM_COLORS","_hoisted_1","_hoisted_2","_createBlock","_resolveDynamicComponent","$props","_normalizeClass","$options","_normalizeStyle","_ctx","_withCtx","_createElementVNode","$data","_createElementBlock","_renderSlot","_hoisted_3","_toDisplayString","_createCommentVNode","_hoisted_4","_openBlock","_component_dt_presence","_mergeProps"],"mappings":";;;;;;;AAkGA,MAAKA,IAAU;AAAA,EACb,cAAc,EAAE,MAAM;EACtB,MAAM;AAAA,EACN,YAAY,EAAE,YAAAC,EAAS;AAAA,EAEvB,cAAc;AAAA,EAEd,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,IAAI;AAAA,MACF,MAAM;AAAA,MACN,UAAW;AAAE,eAAOC,EAAe;AAAA,MAAI;AAAA;;;;;IAOzC,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAACC,MAAS,OAAO,KAAKC,CAAqB,EAAE,SAASD,CAAI;AAAA;;;;IAMvE,aAAa;AAAA,MACX,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA;;;;IAMX,aAAa;AAAA,MACX,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA;;;;IAMX,WAAW;AAAA,MACT,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA;;;;;;;IASX,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAASE,EAAuB;AAAA,MAChC,WAAW,CAACC,MACH,OAAO,OAAOD,CAAsB,EAAE,SAASC,CAAK;AAAA;;;;IAO/D,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA;;;;;;IAQlB,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAACC,MAAUC,EAAuBD,CAAK;AAAA;;;;IAMpD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA;;;;IAMX,cAAc;AAAA,MACZ,MAAM,CAAC,QAAQ,OAAO,MAAM;AAAA,MAC5B,SAAS;AAAA;;;;IAMX,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;;;;;;IAQX,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAACJ,MAAS,CAACA,KAAQ,OAAO,KAAKM,CAAmB,EAAE,SAASN,CAAI;AAAA;;;;IAM9E,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA;;;;;IAOX,eAAe;AAAA,MACb,MAAM;AAAA,MACN,SAAS;AAAA;;EAIb,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOL;AAAA;EAGF,OAAQ;AACN,WAAO;AAAA,MACL,uBAAAC;AAAA,MACA,uBAAAM;AAAA,MACA,gCAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,yBAAyB;AAAA,MACzB,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,gBAAAC;AAAA;EAEJ;AAAA,EAEA,UAAU;AAAA,IACR,iBAAkB;AAChB,aAAOA,EAAe,KAAK,OAAO,WAAW;AAAA,IAC/C;AAAA,IAEA,aAAc;AACZ,aAAO;AAAA,IACT;AAAA,IAEA,gBAAiB;AACf,aAAO;AAAA,QACL;AAAA,QACA,KAAK,OAAO;AAAA,QACZT,EAAsB,KAAK,aAAa;AAAA,QACxC,KAAK;AAAA,QACL;AAAA,UACE,mBAAmB,KAAK;AAAA,UACxB,CAAC,mBAAmB,KAAK,SAAQ,CAAE,EAAE,GAAG,CAAC,KAAK,WAAU;AAAA,UACxD,uBAAuB,KAAK;AAAA;;IAGlC;AAAA,IAEA,iBAAkB;AAChB,aAAO;AAAA,QACL;AAAA,QACA,KAAK;AAAA,QACL,EAAE,0BAA0B,KAAK;;IAErC;AAAA,IAEA,YAAa;AACX,aAAOI,EAAuB,KAAK,KAAK;AAAA,IAC1C;AAAA,IAEA,iBAAkB;AAChB,aAAO,KAAK,QAAQ,KAAK,QAAQ,KAAK;AAAA,IACxC;AAAA,IAEA,gBAAiB;AAEf,aAAO,KAAK,QAAQ,OAAO,KAAK;AAAA,IAClC;AAAA,IAEA,YAAa;AACX,aAAO,KAAK,4BAA4B,MAAS,KAAK;AAAA,IACxD;AAAA;EAGF,OAAO;AAAA,IACL,UAAU;AAAA,MACR,WAAW;AAAA,MACX,UAAW;AACT,aAAK,eAAc;AAAA,MACrB;AAAA;IAGF,MAAM;AAAA,MACJ,WAAW;AAAA,MACX,UAAW;AACT,aAAK,eAAc;AAAA,MACrB;AAAA;IAGF,OAAO;AAAA,MACL,WAAW;AAAA,MACX,UAAW;AACT,aAAK,eAAc;AAAA,MACrB;AAAA;IAGF,SAAUM,GAAQ;AAEhB,MADA,KAAK,0BAA0B,MAC1BA,MAEL,KAAK,cAAa,GAClB,KAAK,kBAAiB;AAAA,IACxB;AAAA;EAGF,UAAW;AACT,SAAK,cAAa,GAClB,KAAK,kBAAiB;AAAA,EACxB;AAAA,EAEA,SAAS;AAAA,IACP,aAAc;AACZ,aAAOD,EAAe,KAAK,OAAO,IAAI;AAAA,IACxC;AAAA,IAEA,MAAM,oBAAqB;AACzB,YAAM,KAAK,UAAS;AACpB,YAAME,IAAK,KAAK,MAAM;AACtB,MAAKA,MAELA,EAAG,iBAAiB,QAAQ,MAAM,KAAK,yBAAyBA,CAAE,GAAG,EAAE,MAAM,IAAM,GACnFA,EAAG,iBAAiB,SAAS,MAAM,KAAK,0BAA0BA,CAAE,GAAG,EAAE,MAAM,IAAM;AAAA,IACvF;AAAA,IAEA,iBAAkB;AAChB,YAAMC,IAAWC,EAAwB,KAAK,QAAQ;AAEtD,MAAI,KAAK,kBAAkB,OACzB,KAAK,oBAAoB,KAChB,KAAK,kBAAkB,OAChC,KAAK,oBAAoBD,EAAS,CAAC,IAEnC,KAAK,oBAAoBA;AAAA,IAE7B;AAAA,IAEA,WAAY;AACV,aAAO,KAAK,SAASE,EAAiBC,GAAsB,KAAK,IAAI;AAAA,IACvE;AAAA,IAEA,yBAA0BJ,GAAI;AAC5B,WAAK,0BAA0B,IAC/BA,EAAG,UAAU,OAAO,UAAU;AAAA,IAChC;AAAA,IAEA,0BAA2BA,GAAI;AAC7B,WAAK,0BAA0B,IAC/BA,EAAG,UAAU,IAAI,UAAU;AAAA,IAC7B;AAAA,IAEA,gBAAiB;AACf,MAAI,KAAK,YAAY,KAAK,aAAa,UACrC,QAAQ,MAAM,uHAAuH;AAAA,IAEzI;AAAA,IAEA,YAAa,GAAG;AACd,MAAK,KAAK,aACV,KAAK,MAAM,SAAS,CAAC;AAAA,IACvB;AAAA;AAEJ,GA7aAK,IAAA,CAAA,OAAA,KAAA,GAAAC,IAAA,CAAA,cAAA,WAAA,MAAA;EAAA,KAAA;AAAA,EAwDQ,OAAM;;EAxDd,KAAA;AAAA,EA+DM,OAAM;AAAA,EACN,WAAQ;;;;cA/DZC,EADFC,EAESC,EAAA,YAAS,WAAA,KAAA,GAAA;AAAA,IACb,IAAIA,EAAA;AAAA,IACJ,OAJLC,EAIYC,EAAA,aAAa;AAAA,IACpB,OALLC,EAKYC,EAAA,OAAO,KAAK;AAAA,IACpB,WAAQ;AAAA,IACP,SAAOF,EAAA;AAAA;IAPZ,SAAAG,EASI,MAmCM;AAAA,MAnCNC,EAmCM,OAAA;AAAA,QAlCJ,KAAI;AAAA,QACH,OAXPL,EAAA;AAAA,UAWwBD,EAAA;AAAA;sCAA6EO,EAAA,wBAAuB;AAAA;;QAO9GL,EAAA,kBADRM,EAOC,OAAA;AAAA,UAxBP,KAAA;AAAA,UAmBQ,KAAI;AAAA,UACJ,OAAM;AAAA,UACN,WAAQ;AAAA,UACP,KAAKR,EAAA;AAAA,UACL,KAAKA,EAAA;AAAA,QAvBd,GAAA,MAAA,GAAAJ,CAAA,KA0BmBM,EAAA,WAAU,UADvBM,EAYM,OAAA;AAAA,UArCZ,KAAA;AAAA,UA2BS,OA3BTP,EAAA,CA2BiBD,EAAA,WAAWO,EAAA,sBAAsB,IAAI,CAAA;AAAA,UAC7C,cAAYP,EAAA,YAAYA,EAAA,gBAAa;AAAA,UACrC,WAASE,EAAA;AAAA,UACT,MAAMF,EAAA,YAAS,WAAA;AAAA;UAGhBS,EAGEL,EAAA,QAAA,QAAA;AAAA,YADC,UAAWJ,EAAA,YAAYO,EAAA,kBAAkBP,EAAA,IAAI;AAAA;QAnCxD,GAAA,IAAAH,CAAA,WAsCMW,EAKO,QAAA;AAAA,UA3Cb,KAAA;AAAA,UAwCS,OAxCTP,EAAA,CAwCiBM,EAAA,sBAAsB,QAAQ,CAAA;AAAA,aAEpCA,EAAA,iBAAiB,GAAA,CAAA;AAAA;MAIhBL,EAAA,kBAAkBF,EAAA,oBAD1BQ,EAeM,OAAA;AAAA,QA5DV,KAAA;AAAA,QA+CO,OA/CPP,EA+CcC,EAAA,cAAc;AAAA;QAIdA,EAAA,iBADRO,EAGEL,2BArDR,KAAA,EAAA,CAAA,IAuDmBJ,EAAA,oBADbQ,EAKI,KALJE,GAKIC,EADCX,EAAA,WAAW,GAAA,CAAA,KA1DtBY,EAAA,IAAA,EAAA;AAAA,eAAAA,EAAA,IAAA,EAAA;AAAA,MA8DYV,EAAA,kBADRM,EAI4B,QAJ5BK,GAI4BF,EAAxBT,EAAA,cAAc,GAAA,CAAA,KAjEtBU,EAAA,IAAA,EAAA;AAAA,MAmEYZ,EAAA,aAAaE,EAAA,aADrBY,KAAAhB,EASEiB,GATFC,EASE;AAAA,QA3EN,KAAA;AAAA,QAoEO,UAAUhB,EAAA;AAAA,QACV,OAAK;AAAA;UAA0CO,EAAA,+BAA+BP,EAAA,IAAI;AAAA;SAI3EA,EAAA,eAAa,EACrB,WAAQ,cAAa,CAAA,GAAA,MAAA,IAAA,CAAA,YAAA,OAAA,CAAA,KA1E3BY,EAAA,IAAA,EAAA;AAAA;IAAA,GAAA;AAAA;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","sources":["../../../components/avatar/utils.js"],"sourcesContent":["export const extractInitialsFromName = (fullName) => {\n if (typeof fullName !== 'string' || !fullName.trim()) return '';\n\n const names = fullName.trim().split(/\\s+/g);\n\n return names.length === 1\n ? names.join('').substring(0, 2)\n : names.filter((_, index) => (index === 0 || index === names.length - 1))\n .map(name => name.slice(0, 1).toUpperCase())\n .join('');\n};\n"],"names":["extractInitialsFromName","fullName","names","_","index","name"],"mappings":"gFAAY,MAACA,EAA2BC,GAAa,CACnD,GAAI,OAAOA,GAAa,UAAY,CAACA,EAAS,KAAI,EAAI,MAAO,GAE7D,MAAMC,EAAQD,EAAS,KAAM,EAAC,MAAM,MAAM,EAE1C,OAAOC,EAAM,SAAW,EACpBA,EAAM,KAAK,EAAE,EAAE,UAAU,EAAG,CAAC,EAC7BA,EAAM,OAAO,CAACC,EAAGC,IAAWA,IAAU,GAAKA,IAAUF,EAAM,OAAS,CAAE,EACrE,IAAIG,GAAQA,EAAK,MAAM,EAAG,CAAC,EAAE,aAAa,EAC1C,KAAK,EAAE,CACd"}
1
+ {"version":3,"file":"utils.cjs","sources":["../../../components/avatar/utils.js"],"sourcesContent":["export const extractInitialsFromName = (fullName) => {\n if (typeof fullName !== 'string' || !fullName.trim()) return '';\n\n const names = fullName.trim().split(/\\s+/g);\n\n return names.length === 1\n ? names.join('').substring(0, 2)\n : names.filter((_, index) => (index === 0 || index === names.length - 1))\n .map(name => name.slice(0, 1).toUpperCase())\n .join('');\n};\n"],"names":["extractInitialsFromName","fullName","names","_","index","name"],"mappings":"gFAAY,MAACA,EAA2BC,GAAa,CACnD,GAAI,OAAOA,GAAa,UAAY,CAACA,EAAS,KAAI,EAAI,MAAO,GAE7D,MAAMC,EAAQD,EAAS,KAAI,EAAG,MAAM,MAAM,EAE1C,OAAOC,EAAM,SAAW,EACpBA,EAAM,KAAK,EAAE,EAAE,UAAU,EAAG,CAAC,EAC7BA,EAAM,OAAO,CAACC,EAAGC,IAAWA,IAAU,GAAKA,IAAUF,EAAM,OAAS,CAAE,EACrE,IAAIG,GAAQA,EAAK,MAAM,EAAG,CAAC,EAAE,YAAW,CAAE,EAC1C,KAAK,EAAE,CACd"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../components/avatar/utils.js"],"sourcesContent":["export const extractInitialsFromName = (fullName) => {\n if (typeof fullName !== 'string' || !fullName.trim()) return '';\n\n const names = fullName.trim().split(/\\s+/g);\n\n return names.length === 1\n ? names.join('').substring(0, 2)\n : names.filter((_, index) => (index === 0 || index === names.length - 1))\n .map(name => name.slice(0, 1).toUpperCase())\n .join('');\n};\n"],"names":["extractInitialsFromName","fullName","names","_","index","name"],"mappings":"AAAY,MAACA,IAA0B,CAACC,MAAa;AACnD,MAAI,OAAOA,KAAa,YAAY,CAACA,EAAS,KAAI,EAAI,QAAO;AAE7D,QAAMC,IAAQD,EAAS,KAAM,EAAC,MAAM,MAAM;AAE1C,SAAOC,EAAM,WAAW,IACpBA,EAAM,KAAK,EAAE,EAAE,UAAU,GAAG,CAAC,IAC7BA,EAAM,OAAO,CAACC,GAAGC,MAAWA,MAAU,KAAKA,MAAUF,EAAM,SAAS,CAAE,EACrE,IAAI,CAAAG,MAAQA,EAAK,MAAM,GAAG,CAAC,EAAE,aAAa,EAC1C,KAAK,EAAE;AACd;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../components/avatar/utils.js"],"sourcesContent":["export const extractInitialsFromName = (fullName) => {\n if (typeof fullName !== 'string' || !fullName.trim()) return '';\n\n const names = fullName.trim().split(/\\s+/g);\n\n return names.length === 1\n ? names.join('').substring(0, 2)\n : names.filter((_, index) => (index === 0 || index === names.length - 1))\n .map(name => name.slice(0, 1).toUpperCase())\n .join('');\n};\n"],"names":["extractInitialsFromName","fullName","names","_","index","name"],"mappings":"AAAY,MAACA,IAA0B,CAACC,MAAa;AACnD,MAAI,OAAOA,KAAa,YAAY,CAACA,EAAS,KAAI,EAAI,QAAO;AAE7D,QAAMC,IAAQD,EAAS,KAAI,EAAG,MAAM,MAAM;AAE1C,SAAOC,EAAM,WAAW,IACpBA,EAAM,KAAK,EAAE,EAAE,UAAU,GAAG,CAAC,IAC7BA,EAAM,OAAO,CAACC,GAAGC,MAAWA,MAAU,KAAKA,MAAUF,EAAM,SAAS,CAAE,EACrE,IAAI,CAAAG,MAAQA,EAAK,MAAM,GAAG,CAAC,EAAE,YAAW,CAAE,EAC1C,KAAK,EAAE;AACd;"}
@@ -1 +1 @@
1
- {"version":3,"file":"badge.cjs","sources":["../../../components/badge/badge.vue"],"sourcesContent":["<template>\n <span\n :class=\"[\n 'd-badge',\n BADGE_TYPE_MODIFIERS[type],\n BADGE_KIND_MODIFIERS[kind],\n BADGE_DECORATION_MODIFIERS[decoration],\n { 'd-badge--subtle': subtle },\n { 'd-badge--outlined': outlined },\n ]\"\n data-qa=\"dt-badge\"\n >\n <span\n v-if=\"decoration\"\n class=\"d-badge__decorative\"\n />\n <span\n v-if=\"hasLeftIcon\"\n class=\"d-badge__icon-left\"\n >\n <!-- @slot Slot for left icon, icon-size slot prop defaults to '200' -->\n <slot\n name=\"leftIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <span :class=\"['d-badge__label', labelClass]\">\n <!-- @slot Slot for badge content, defaults to text prop -->\n <slot>\n {{ text }}\n </slot>\n </span>\n <span\n v-if=\"hasRightIcon\"\n class=\"d-badge__icon-right\"\n >\n <!-- @slot Slot for right icon, icon-size slot prop defaults to '200' -->\n <slot\n name=\"rightIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n </span>\n</template>\n\n<script>\nimport { BADGE_TYPE_MODIFIERS, BADGE_KIND_MODIFIERS, BADGE_DECORATION_MODIFIERS } from './badge_constants';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon';\nimport { hasSlotContent } from '@/common/utils/index.js';\n\n/**\n * A badge is a compact UI element that provides brief, descriptive information about an element.\n * It is terse, ideally one word.\n * @see https://dialtone.dialpad.com/components/badge.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtBadge',\n\n props: {\n /**\n * The size of the left and right icons.\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n iconSize: {\n type: String,\n default: '200',\n validator: (s) => Object.keys(ICON_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Text for the badge content\n */\n text: {\n type: String,\n default: '',\n },\n\n /**\n * The kind of badge which determines the styling\n * @values label, count\n */\n kind: {\n type: String,\n default: 'label',\n validator: (kind) => Object.keys(BADGE_KIND_MODIFIERS).includes(kind),\n },\n\n /**\n * Color for the badge background\n * @values default, info, success, warning, critical, bulletin, ai\n */\n type: {\n type: String,\n default: 'default',\n validator: (type) => Object.keys(BADGE_TYPE_MODIFIERS).includes(type),\n },\n\n /**\n * Decoration for the badge. This can be only used with kind: label and type: default\n * with no left and right icons\n * @values default, black-400, black-500, black-900, red-200, red-300, red-400, purple-200,\n * purple-300, purple-400, purple-500, blue-200, blue-300, blue-400, green-300, green-400,\n * green-500, gold-300, gold-400, gold-500, magenta-200, magenta-300, magenta-400\n */\n decoration: {\n type: String,\n default: undefined,\n validator: (type) => Object.keys(BADGE_DECORATION_MODIFIERS).includes(type),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Shows a subtle appearance for the badge\n * Currently only affects the badge when type is bulletin.\n */\n subtle: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Outlines the badge with a border\n */\n outlined: {\n type: Boolean,\n default: false,\n },\n },\n\n data () {\n return {\n BADGE_TYPE_MODIFIERS,\n BADGE_KIND_MODIFIERS,\n BADGE_DECORATION_MODIFIERS,\n };\n },\n\n computed: {\n hasLeftIcon () {\n return hasSlotContent(this.$slots.leftIcon);\n },\n\n hasRightIcon () {\n return hasSlotContent(this.$slots.rightIcon);\n },\n\n hasIcons () {\n return this.hasLeftIcon || this.hasRightIcon;\n },\n },\n\n updated () {\n this.validateProps();\n },\n\n methods: {\n validateProps () {\n this.validateTypePropCombination();\n this.validateDecorationPropCombination();\n },\n\n validateTypePropCombination () {\n if (this.type === 'ai' && this.kind === 'count') {\n console.error('DtBadge error: type: \\'ai\\' with kind: \\'count\\' is an invalid combination.');\n }\n if (this.type !== 'bulletin' && this.subtle) {\n console.error('DtBadge error: subtle can only be used with type \\'bulletin\\'');\n }\n },\n\n validateDecorationPropCombination () {\n if (!this.decoration) return;\n\n if (this.kind !== 'label' || this.type !== 'default') {\n console.error('DtBadge error: decoration prop can only be used with kind: \\'label\\' and type: \\'default\\'.');\n }\n\n if (this.hasIcons) {\n console.error('DtBadge error: decoration prop cannot be used with leftIcon or rightIcon.');\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","s","ICON_SIZE_MODIFIERS","kind","BADGE_KIND_MODIFIERS","type","BADGE_TYPE_MODIFIERS","BADGE_DECORATION_MODIFIERS","hasSlotContent","_createElementBlock","_normalizeClass","$data","$props","_openBlock","_hoisted_1","_createCommentVNode","$options","_hoisted_2","_renderSlot","_ctx","_createElementVNode","_createTextVNode","_toDisplayString","_hoisted_3"],"mappings":"kTAuDKA,EAAU,CACb,aAAc,CAAE,KAAM,CAAG,EACzB,KAAM,UAEN,MAAO,CAKL,SAAU,CACR,KAAM,OACN,QAAS,MACT,UAAYC,GAAM,OAAO,KAAKC,qBAAmB,EAAE,SAASD,CAAC,CAC9D,EAKD,KAAM,CACJ,KAAM,OACN,QAAS,EACV,EAMD,KAAM,CACJ,KAAM,OACN,QAAS,QACT,UAAYE,GAAS,OAAO,KAAKC,sBAAoB,EAAE,SAASD,CAAI,CACrE,EAMD,KAAM,CACJ,KAAM,OACN,QAAS,UACT,UAAYE,GAAS,OAAO,KAAKC,sBAAoB,EAAE,SAASD,CAAI,CACrE,EASD,WAAY,CACV,KAAM,OACN,QAAS,OACT,UAAYA,GAAS,OAAO,KAAKE,4BAA0B,EAAE,SAASF,CAAI,CAC3E,EAKD,WAAY,CACV,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,EACV,EAMD,OAAQ,CACN,KAAM,QACN,QAAS,EACV,EAKD,SAAU,CACR,KAAM,QACN,QAAS,EACV,CACF,EAED,MAAQ,CACN,MAAO,CACL,qBAAAC,EAAoB,qBACpB,qBAAAF,EAAoB,gDACpBG,EAA0B,2BAE7B,EAED,SAAU,CACR,aAAe,CACb,OAAOC,iBAAe,KAAK,OAAO,QAAQ,CAC3C,EAED,cAAgB,CACd,OAAOA,iBAAe,KAAK,OAAO,SAAS,CAC5C,EAED,UAAY,CACV,OAAO,KAAK,aAAe,KAAK,YACjC,CACF,EAED,SAAW,CACT,KAAK,cAAa,CACnB,EAED,QAAS,CACP,eAAiB,CACf,KAAK,4BAA2B,EAChC,KAAK,kCAAiC,CACvC,EAED,6BAA+B,CACzB,KAAK,OAAS,MAAQ,KAAK,OAAS,SACtC,QAAQ,MAAM,yEAA6E,EAEzF,KAAK,OAAS,YAAc,KAAK,QACnC,QAAQ,MAAM,6DAA+D,CAEhF,EAED,mCAAqC,CAC9B,KAAK,cAEN,KAAK,OAAS,SAAW,KAAK,OAAS,YACzC,QAAQ,MAAM,yFAA6F,EAGzG,KAAK,UACP,QAAQ,MAAM,2EAA2E,EAE5F,CACF,CACH,KA9LA,IAAA,EAcM,MAAM,0BAdZ,IAAA,EAkBM,MAAM,yBAlBZ,IAAA,EAkCM,MAAM,oEAjCVC,EAyCO,mBAAA,OAAA,CAxCJ,MAFLC,EAAAA,eAAA,WAEqCC,EAAA,qBAAqBC,EAAI,IAAA,EAASD,EAAA,qBAAqBC,EAAI,IAAA,EAASD,EAAA,2BAA2BC,EAAU,UAAA,qBAA8BA,EAAM,MAAA,uBAAiCA,EAAQ,QAAA,IAQvN,UAAQ,aAGAA,EAAU,YADlBC,EAAAA,YAAAJ,EAAAA,mBAGE,OAHFK,CAGE,GAfNC,EAAA,mBAAA,GAAA,EAAA,EAiBYC,EAAW,aADnBH,EAAAA,YAAAJ,EAAAA,mBASO,OATPQ,EASO,CAJLC,EAGE,WAAAC,EAAA,OAAA,WAAA,CADC,SAAWP,EAAQ,SAAA,KAvB5BG,EAAA,mBAAA,GAAA,EAAA,EA0BIK,EAAAA,mBAKO,OAAA,CALA,MA1BXV,EAAAA,iCA0BqCE,EAAU,UAAA,CAAA,IAEzCM,EAAAA,WAEOC,sBAFP,IAEO,CA9BbE,EAAAA,gBAAAC,EAAAA,gBA6BWV,EAAI,IAAA,EAAA,CAAA,QAIHI,EAAY,cADpBH,EAAAA,YAAAJ,EAAAA,mBASO,OATPc,EASO,CAJLL,EAGE,WAAAC,EAAA,OAAA,YAAA,CADC,SAAWP,EAAQ,SAAA,KAvC5BG,EAAA,mBAAA,GAAA,EAAA"}
1
+ {"version":3,"file":"badge.cjs","sources":["../../../components/badge/badge.vue"],"sourcesContent":["<template>\n <span\n :class=\"[\n 'd-badge',\n BADGE_TYPE_MODIFIERS[type],\n BADGE_KIND_MODIFIERS[kind],\n BADGE_DECORATION_MODIFIERS[decoration],\n { 'd-badge--subtle': subtle },\n { 'd-badge--outlined': outlined },\n ]\"\n data-qa=\"dt-badge\"\n >\n <span\n v-if=\"decoration\"\n class=\"d-badge__decorative\"\n />\n <span\n v-if=\"hasLeftIcon\"\n class=\"d-badge__icon-left\"\n >\n <!-- @slot Slot for left icon, icon-size slot prop defaults to '200' -->\n <slot\n name=\"leftIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <span :class=\"['d-badge__label', labelClass]\">\n <!-- @slot Slot for badge content, defaults to text prop -->\n <slot>\n {{ text }}\n </slot>\n </span>\n <span\n v-if=\"hasRightIcon\"\n class=\"d-badge__icon-right\"\n >\n <!-- @slot Slot for right icon, icon-size slot prop defaults to '200' -->\n <slot\n name=\"rightIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n </span>\n</template>\n\n<script>\nimport { BADGE_TYPE_MODIFIERS, BADGE_KIND_MODIFIERS, BADGE_DECORATION_MODIFIERS } from './badge_constants';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon';\nimport { hasSlotContent } from '@/common/utils/index.js';\n\n/**\n * A badge is a compact UI element that provides brief, descriptive information about an element.\n * It is terse, ideally one word.\n * @see https://dialtone.dialpad.com/components/badge.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtBadge',\n\n props: {\n /**\n * The size of the left and right icons.\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n iconSize: {\n type: String,\n default: '200',\n validator: (s) => Object.keys(ICON_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Text for the badge content\n */\n text: {\n type: String,\n default: '',\n },\n\n /**\n * The kind of badge which determines the styling\n * @values label, count\n */\n kind: {\n type: String,\n default: 'label',\n validator: (kind) => Object.keys(BADGE_KIND_MODIFIERS).includes(kind),\n },\n\n /**\n * Color for the badge background\n * @values default, info, success, warning, critical, bulletin, ai\n */\n type: {\n type: String,\n default: 'default',\n validator: (type) => Object.keys(BADGE_TYPE_MODIFIERS).includes(type),\n },\n\n /**\n * Decoration for the badge. This can be only used with kind: label and type: default\n * with no left and right icons\n * @values default, black-400, black-500, black-900, red-200, red-300, red-400, purple-200,\n * purple-300, purple-400, purple-500, blue-200, blue-300, blue-400, green-300, green-400,\n * green-500, gold-300, gold-400, gold-500, magenta-200, magenta-300, magenta-400\n */\n decoration: {\n type: String,\n default: undefined,\n validator: (type) => Object.keys(BADGE_DECORATION_MODIFIERS).includes(type),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Shows a subtle appearance for the badge\n * Currently only affects the badge when type is bulletin.\n */\n subtle: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Outlines the badge with a border\n */\n outlined: {\n type: Boolean,\n default: false,\n },\n },\n\n data () {\n return {\n BADGE_TYPE_MODIFIERS,\n BADGE_KIND_MODIFIERS,\n BADGE_DECORATION_MODIFIERS,\n };\n },\n\n computed: {\n hasLeftIcon () {\n return hasSlotContent(this.$slots.leftIcon);\n },\n\n hasRightIcon () {\n return hasSlotContent(this.$slots.rightIcon);\n },\n\n hasIcons () {\n return this.hasLeftIcon || this.hasRightIcon;\n },\n },\n\n updated () {\n this.validateProps();\n },\n\n methods: {\n validateProps () {\n this.validateTypePropCombination();\n this.validateDecorationPropCombination();\n },\n\n validateTypePropCombination () {\n if (this.type === 'ai' && this.kind === 'count') {\n console.error('DtBadge error: type: \\'ai\\' with kind: \\'count\\' is an invalid combination.');\n }\n if (this.type !== 'bulletin' && this.subtle) {\n console.error('DtBadge error: subtle can only be used with type \\'bulletin\\'');\n }\n },\n\n validateDecorationPropCombination () {\n if (!this.decoration) return;\n\n if (this.kind !== 'label' || this.type !== 'default') {\n console.error('DtBadge error: decoration prop can only be used with kind: \\'label\\' and type: \\'default\\'.');\n }\n\n if (this.hasIcons) {\n console.error('DtBadge error: decoration prop cannot be used with leftIcon or rightIcon.');\n }\n },\n },\n};\n</script>\n"],"names":["_sfc_main","s","ICON_SIZE_MODIFIERS","kind","BADGE_KIND_MODIFIERS","type","BADGE_TYPE_MODIFIERS","BADGE_DECORATION_MODIFIERS","hasSlotContent","_createElementBlock","_normalizeClass","$data","$props","_openBlock","_hoisted_1","_createCommentVNode","$options","_hoisted_2","_renderSlot","_ctx","_createElementVNode","_createTextVNode","_toDisplayString","_hoisted_3"],"mappings":"kTAuDKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,UAEN,MAAO,CAKL,SAAU,CACR,KAAM,OACN,QAAS,MACT,UAAYC,GAAM,OAAO,KAAKC,qBAAmB,EAAE,SAASD,CAAC,GAM/D,KAAM,CACJ,KAAM,OACN,QAAS,IAOX,KAAM,CACJ,KAAM,OACN,QAAS,QACT,UAAYE,GAAS,OAAO,KAAKC,sBAAoB,EAAE,SAASD,CAAI,GAOtE,KAAM,CACJ,KAAM,OACN,QAAS,UACT,UAAYE,GAAS,OAAO,KAAKC,sBAAoB,EAAE,SAASD,CAAI,GAUtE,WAAY,CACV,KAAM,OACN,QAAS,OACT,UAAYA,GAAS,OAAO,KAAKE,4BAA0B,EAAE,SAASF,CAAI,GAM5E,WAAY,CACV,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,IAOX,OAAQ,CACN,KAAM,QACN,QAAS,IAMX,SAAU,CACR,KAAM,QACN,QAAS,KAIb,MAAQ,CACN,MAAO,CACL,qBAAAC,EAAAA,qBACA,qBAAAF,EAAAA,gDACAG,EAAAA,2BAEJ,EAEA,SAAU,CACR,aAAe,CACb,OAAOC,iBAAe,KAAK,OAAO,QAAQ,CAC5C,EAEA,cAAgB,CACd,OAAOA,iBAAe,KAAK,OAAO,SAAS,CAC7C,EAEA,UAAY,CACV,OAAO,KAAK,aAAe,KAAK,YAClC,GAGF,SAAW,CACT,KAAK,cAAa,CACpB,EAEA,QAAS,CACP,eAAiB,CACf,KAAK,4BAA2B,EAChC,KAAK,kCAAiC,CACxC,EAEA,6BAA+B,CACzB,KAAK,OAAS,MAAQ,KAAK,OAAS,SACtC,QAAQ,MAAM,yEAA6E,EAEzF,KAAK,OAAS,YAAc,KAAK,QACnC,QAAQ,MAAM,6DAA+D,CAEjF,EAEA,mCAAqC,CAC9B,KAAK,cAEN,KAAK,OAAS,SAAW,KAAK,OAAS,YACzC,QAAQ,MAAM,yFAA6F,EAGzG,KAAK,UACP,QAAQ,MAAM,2EAA2E,EAE7F,EAEJ,KA9LA,IAAA,EAcM,MAAM,0BAdZ,IAAA,EAkBM,MAAM,yBAlBZ,IAAA,EAkCM,MAAM,oEAjCVC,EAAAA,mBAyCO,OAAA,CAxCJ,MAFLC,EAAAA,eAAA,WAEqCC,EAAA,qBAAqBC,EAAA,IAAI,EAASD,EAAA,qBAAqBC,EAAA,IAAI,EAASD,EAAA,2BAA2BC,EAAA,UAAU,qBAA8BA,EAAA,MAAM,uBAAiCA,EAAA,QAAQ,IAQvN,UAAQ,aAGAA,EAAA,YADRC,EAAAA,YAAAJ,EAAAA,mBAGE,OAHFK,CAGE,GAfNC,EAAAA,mBAAA,GAAA,EAAA,EAiBYC,EAAA,aADRH,EAAAA,YAAAJ,EAAAA,mBASO,OATPQ,EASO,CAJLC,EAAAA,WAGEC,EAAA,OAAA,WAAA,CADC,SAAWP,EAAA,QAAQ,CAAA,KAvB5BG,EAAAA,mBAAA,GAAA,EAAA,EA0BIK,EAAAA,mBAKO,OAAA,CALA,MA1BXV,EAAAA,iCA0BqCE,EAAA,UAAU,CAAA,IAEzCM,EAAAA,WAEOC,sBAFP,IAEO,CA9BbE,EAAAA,gBAAAC,EAAAA,gBA6BWV,EAAA,IAAI,EAAA,CAAA,QAIHI,EAAA,cADRH,EAAAA,YAAAJ,EAAAA,mBASO,OATPc,EASO,CAJLL,EAAAA,WAGEC,EAAA,OAAA,YAAA,CADC,SAAWP,EAAA,QAAQ,CAAA,KAvC5BG,EAAAA,mBAAA,GAAA,EAAA"}