@dialpad/dialtone-vue 3.209.0 → 3.210.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/dist/common/mixins/keyboard-list-navigation.cjs +1 -1
  2. package/dist/common/mixins/keyboard-list-navigation.cjs.map +1 -1
  3. package/dist/common/mixins/keyboard-list-navigation.js +7 -7
  4. package/dist/common/mixins/keyboard-list-navigation.js.map +1 -1
  5. package/dist/component-documentation.json +1 -1
  6. package/dist/dialtone-vue.cjs +1 -1
  7. package/dist/dialtone-vue.js +422 -386
  8. package/dist/dialtone-vue.js.map +1 -1
  9. package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  10. package/dist/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  11. package/dist/lib/attachment-carousel/attachment-carousel.js +64 -117
  12. package/dist/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  13. package/dist/lib/avatar/avatar-constants.cjs +1 -1
  14. package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
  15. package/dist/lib/avatar/avatar-constants.js +169 -43
  16. package/dist/lib/avatar/avatar-constants.js.map +1 -1
  17. package/dist/lib/avatar/avatar.cjs +1 -1
  18. package/dist/lib/avatar/avatar.cjs.map +1 -1
  19. package/dist/lib/avatar/avatar.js +185 -100
  20. package/dist/lib/avatar/avatar.js.map +1 -1
  21. package/dist/lib/avatar/index.cjs +1 -1
  22. package/dist/lib/avatar/index.js +16 -10
  23. package/dist/lib/badge/badge.cjs +1 -1
  24. package/dist/lib/badge/badge.cjs.map +1 -1
  25. package/dist/lib/badge/badge.js +47 -35
  26. package/dist/lib/badge/badge.js.map +1 -1
  27. package/dist/lib/button/button-constants.cjs +1 -1
  28. package/dist/lib/button/button-constants.cjs.map +1 -1
  29. package/dist/lib/button/button-constants.js +23 -19
  30. package/dist/lib/button/button-constants.js.map +1 -1
  31. package/dist/lib/button/button.cjs +1 -1
  32. package/dist/lib/button/button.cjs.map +1 -1
  33. package/dist/lib/button/button.js +138 -60
  34. package/dist/lib/button/button.js.map +1 -1
  35. package/dist/lib/callbar-button/callbar-button.cjs +1 -1
  36. package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
  37. package/dist/lib/callbar-button/callbar-button.js +8 -9
  38. package/dist/lib/callbar-button/callbar-button.js.map +1 -1
  39. package/dist/lib/callbox/callbox.cjs +1 -1
  40. package/dist/lib/callbox/callbox.cjs.map +1 -1
  41. package/dist/lib/callbox/callbox.js +47 -47
  42. package/dist/lib/callbox/callbox.js.map +1 -1
  43. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  44. package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  45. package/dist/lib/combobox-multi-select/combobox-multi-select.js +31 -31
  46. package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  47. package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  48. package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  49. package/dist/lib/contact-centers-row/contact-centers-row.js +33 -33
  50. package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  51. package/dist/lib/contact-info/contact-info.cjs +1 -1
  52. package/dist/lib/contact-info/contact-info.cjs.map +1 -1
  53. package/dist/lib/contact-info/contact-info.js +56 -56
  54. package/dist/lib/contact-info/contact-info.js.map +1 -1
  55. package/dist/lib/contact-row/contact-row.cjs +1 -1
  56. package/dist/lib/contact-row/contact-row.cjs.map +1 -1
  57. package/dist/lib/contact-row/contact-row.js +1 -1
  58. package/dist/lib/contact-row/contact-row.js.map +1 -1
  59. package/dist/lib/datepicker/datepicker.cjs +1 -1
  60. package/dist/lib/datepicker/datepicker.cjs.map +1 -1
  61. package/dist/lib/datepicker/datepicker.js +11 -11
  62. package/dist/lib/datepicker/datepicker.js.map +1 -1
  63. package/dist/lib/editor/editor.cjs +1 -1
  64. package/dist/lib/editor/editor.cjs.map +1 -1
  65. package/dist/lib/editor/editor.js +13 -12
  66. package/dist/lib/editor/editor.js.map +1 -1
  67. package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
  68. package/dist/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  69. package/dist/lib/emoji-picker/emoji-picker.js +2 -2
  70. package/dist/lib/emoji-picker/emoji-picker.js.map +1 -1
  71. package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  72. package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  73. package/dist/lib/feed-item-pill/feed-item-pill.js +56 -53
  74. package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  75. package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
  76. package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
  77. package/dist/lib/feed-item-row/feed-item-row.js +11 -11
  78. package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
  79. package/dist/lib/filter-pill/filter-pill.cjs +2 -0
  80. package/dist/lib/filter-pill/filter-pill.cjs.map +1 -0
  81. package/dist/lib/filter-pill/filter-pill.js +346 -0
  82. package/dist/lib/filter-pill/filter-pill.js.map +1 -0
  83. package/dist/lib/filter-pill/index.cjs +2 -0
  84. package/dist/lib/filter-pill/index.cjs.map +1 -0
  85. package/dist/lib/filter-pill/index.js +5 -0
  86. package/dist/lib/filter-pill/index.js.map +1 -0
  87. package/dist/lib/general-row/general-row.cjs +1 -1
  88. package/dist/lib/general-row/general-row.cjs.map +1 -1
  89. package/dist/lib/general-row/general-row.js +153 -99
  90. package/dist/lib/general-row/general-row.js.map +1 -1
  91. package/dist/lib/group-row/group-row.cjs +1 -1
  92. package/dist/lib/group-row/group-row.cjs.map +1 -1
  93. package/dist/lib/group-row/group-row.js +1 -1
  94. package/dist/lib/group-row/group-row.js.map +1 -1
  95. package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
  96. package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
  97. package/dist/lib/grouped-chip/grouped-chip.js +31 -31
  98. package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
  99. package/dist/lib/input/input.cjs +1 -1
  100. package/dist/lib/input/input.cjs.map +1 -1
  101. package/dist/lib/input/input.js +53 -42
  102. package/dist/lib/input/input.js.map +1 -1
  103. package/dist/lib/item-layout/item-layout.cjs +3 -3
  104. package/dist/lib/item-layout/item-layout.cjs.map +1 -1
  105. package/dist/lib/item-layout/item-layout.js +74 -39
  106. package/dist/lib/item-layout/item-layout.js.map +1 -1
  107. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +2 -0
  108. package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +1 -0
  109. package/dist/lib/kitchen-sink/kitchen-sink-view.js +263 -0
  110. package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +1 -0
  111. package/dist/lib/link/link.cjs +1 -1
  112. package/dist/lib/link/link.cjs.map +1 -1
  113. package/dist/lib/link/link.js +21 -12
  114. package/dist/lib/link/link.js.map +1 -1
  115. package/dist/lib/list-item/list-item.cjs +1 -1
  116. package/dist/lib/list-item/list-item.cjs.map +1 -1
  117. package/dist/lib/list-item/list-item.js +25 -15
  118. package/dist/lib/list-item/list-item.js.map +1 -1
  119. package/dist/lib/loader/loader.cjs +13 -1
  120. package/dist/lib/loader/loader.cjs.map +1 -1
  121. package/dist/lib/loader/loader.js +31 -20
  122. package/dist/lib/loader/loader.js.map +1 -1
  123. package/dist/lib/message-input/message-input.cjs +1 -1
  124. package/dist/lib/message-input/message-input.cjs.map +1 -1
  125. package/dist/lib/message-input/message-input.js +44 -43
  126. package/dist/lib/message-input/message-input.js.map +1 -1
  127. package/dist/lib/mode-island/index.cjs +2 -0
  128. package/dist/lib/mode-island/index.cjs.map +1 -0
  129. package/dist/lib/mode-island/index.js +7 -0
  130. package/dist/lib/mode-island/index.js.map +1 -0
  131. package/dist/lib/mode-island/mode-island-constants.cjs +2 -0
  132. package/dist/lib/mode-island/mode-island-constants.cjs.map +1 -0
  133. package/dist/lib/mode-island/mode-island-constants.js +12 -0
  134. package/dist/lib/mode-island/mode-island-constants.js.map +1 -0
  135. package/dist/lib/mode-island/mode-island.cjs +2 -0
  136. package/dist/lib/mode-island/mode-island.cjs.map +1 -0
  137. package/dist/lib/mode-island/mode-island.js +130 -0
  138. package/dist/lib/mode-island/mode-island.js.map +1 -0
  139. package/dist/lib/mode-island/utils.cjs +2 -0
  140. package/dist/lib/mode-island/utils.cjs.map +1 -0
  141. package/dist/lib/mode-island/utils.js +32 -0
  142. package/dist/lib/mode-island/utils.js.map +1 -0
  143. package/dist/lib/mode-island/validators.cjs +2 -0
  144. package/dist/lib/mode-island/validators.cjs.map +1 -0
  145. package/dist/lib/mode-island/validators.js +12 -0
  146. package/dist/lib/mode-island/validators.js.map +1 -0
  147. package/dist/lib/pagination/pagination.cjs +1 -1
  148. package/dist/lib/pagination/pagination.cjs.map +1 -1
  149. package/dist/lib/pagination/pagination.js +15 -14
  150. package/dist/lib/pagination/pagination.js.map +1 -1
  151. package/dist/lib/popover/popover.cjs +1 -1
  152. package/dist/lib/popover/popover.cjs.map +1 -1
  153. package/dist/lib/popover/popover.js +1 -1
  154. package/dist/lib/popover/popover.js.map +1 -1
  155. package/dist/lib/progress-circle/index.cjs +2 -0
  156. package/dist/lib/progress-circle/index.cjs.map +1 -0
  157. package/dist/lib/progress-circle/index.js +10 -0
  158. package/dist/lib/progress-circle/index.js.map +1 -0
  159. package/dist/lib/progress-circle/progress-circle-constants.cjs +2 -0
  160. package/dist/lib/progress-circle/progress-circle-constants.cjs.map +1 -0
  161. package/dist/lib/progress-circle/progress-circle-constants.js +25 -0
  162. package/dist/lib/progress-circle/progress-circle-constants.js.map +1 -0
  163. package/dist/lib/progress-circle/progress-circle.cjs +2 -0
  164. package/dist/lib/progress-circle/progress-circle.cjs.map +1 -0
  165. package/dist/lib/progress-circle/progress-circle.js +136 -0
  166. package/dist/lib/progress-circle/progress-circle.js.map +1 -0
  167. package/dist/lib/rich-text-editor/rich-text-editor.cjs +2 -2
  168. package/dist/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  169. package/dist/lib/rich-text-editor/rich-text-editor.js +115 -97
  170. package/dist/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  171. package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
  172. package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
  173. package/dist/lib/root-layout/root-layout-constants.js +4 -2
  174. package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
  175. package/dist/lib/root-layout/root-layout.cjs +1 -1
  176. package/dist/lib/root-layout/root-layout.cjs.map +1 -1
  177. package/dist/lib/root-layout/root-layout.js +9 -10
  178. package/dist/lib/root-layout/root-layout.js.map +1 -1
  179. package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
  180. package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  181. package/dist/lib/settings-menu-button/settings-menu-button.js +14 -15
  182. package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  183. package/dist/lib/split-button/split-button-alpha.cjs +1 -1
  184. package/dist/lib/split-button/split-button-alpha.cjs.map +1 -1
  185. package/dist/lib/split-button/split-button-alpha.js +51 -28
  186. package/dist/lib/split-button/split-button-alpha.js.map +1 -1
  187. package/dist/lib/split-button/split-button.cjs +1 -1
  188. package/dist/lib/split-button/split-button.cjs.map +1 -1
  189. package/dist/lib/split-button/split-button.js +235 -89
  190. package/dist/lib/split-button/split-button.js.map +1 -1
  191. package/dist/lib/text/index.cjs +2 -0
  192. package/dist/lib/text/index.cjs.map +1 -0
  193. package/dist/lib/text/index.js +20 -0
  194. package/dist/lib/text/index.js.map +1 -0
  195. package/dist/lib/text/text-constants.cjs +2 -0
  196. package/dist/lib/text/text-constants.cjs.map +1 -0
  197. package/dist/lib/text/text-constants.js +69 -0
  198. package/dist/lib/text/text-constants.js.map +1 -0
  199. package/dist/lib/text/text-tone-tokens.cjs +2 -0
  200. package/dist/lib/text/text-tone-tokens.cjs.map +1 -0
  201. package/dist/lib/text/text-tone-tokens.js +33 -0
  202. package/dist/lib/text/text-tone-tokens.js.map +1 -0
  203. package/dist/lib/text/text.cjs +2 -0
  204. package/dist/lib/text/text.cjs.map +1 -0
  205. package/dist/lib/text/text.js +203 -0
  206. package/dist/lib/text/text.js.map +1 -0
  207. package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
  208. package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
  209. package/dist/lib/top-banner-info/top-banner-info.js +16 -16
  210. package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
  211. package/dist/localization/en-US.cjs +2 -0
  212. package/dist/localization/en-US.cjs.map +1 -1
  213. package/dist/localization/en-US.js +2 -0
  214. package/dist/localization/en-US.js.map +1 -1
  215. package/dist/localization/es-LA.cjs +1 -1
  216. package/dist/localization/es-LA.cjs.map +1 -1
  217. package/dist/localization/es-LA.js +1 -1
  218. package/dist/localization/es-LA.js.map +1 -1
  219. package/dist/localization/it-IT.cjs +3 -3
  220. package/dist/localization/it-IT.cjs.map +1 -1
  221. package/dist/localization/it-IT.js +3 -3
  222. package/dist/localization/it-IT.js.map +1 -1
  223. package/dist/localization/nl-NL.cjs +2 -2
  224. package/dist/localization/nl-NL.cjs.map +1 -1
  225. package/dist/localization/nl-NL.js +2 -2
  226. package/dist/localization/nl-NL.js.map +1 -1
  227. package/dist/localization/ru-RU.cjs +1 -1
  228. package/dist/localization/ru-RU.cjs.map +1 -1
  229. package/dist/localization/ru-RU.js +1 -1
  230. package/dist/localization/ru-RU.js.map +1 -1
  231. package/dist/localization/zh-CN.cjs +1 -1
  232. package/dist/localization/zh-CN.cjs.map +1 -1
  233. package/dist/localization/zh-CN.js +1 -1
  234. package/dist/localization/zh-CN.js.map +1 -1
  235. package/dist/node_modules/@tiptap/vue-3.cjs.map +1 -1
  236. package/dist/node_modules/@tiptap/vue-3.js.map +1 -1
  237. package/dist/style.css +1 -1
  238. package/dist/types/common/mixins/keyboard_list_navigation.d.ts.map +1 -1
  239. package/dist/types/common/sr_only_close_button.vue.d.ts +20 -2
  240. package/dist/types/components/avatar/avatar.vue.d.ts +71 -25
  241. package/dist/types/components/avatar/avatar.vue.d.ts.map +1 -1
  242. package/dist/types/components/avatar/avatar_constants.d.ts +86 -29
  243. package/dist/types/components/avatar/avatar_constants.d.ts.map +1 -1
  244. package/dist/types/components/avatar/index.d.ts +1 -1
  245. package/dist/types/components/badge/badge.vue.d.ts.map +1 -1
  246. package/dist/types/components/banner/banner.vue.d.ts +40 -4
  247. package/dist/types/components/banner/banner.vue.d.ts.map +1 -1
  248. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts +9 -0
  249. package/dist/types/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
  250. package/dist/types/components/breadcrumbs/breadcrumbs.vue.d.ts +9 -0
  251. package/dist/types/components/button/button.vue.d.ts +20 -2
  252. package/dist/types/components/button/button.vue.d.ts.map +1 -1
  253. package/dist/types/components/button/button_constants.d.ts +4 -0
  254. package/dist/types/components/button/button_constants.d.ts.map +1 -1
  255. package/dist/types/components/chip/chip.vue.d.ts +20 -2
  256. package/dist/types/components/chip/chip.vue.d.ts.map +1 -1
  257. package/dist/types/components/collapsible/collapsible.vue.d.ts +20 -2
  258. package/dist/types/components/collapsible/collapsible.vue.d.ts.map +1 -1
  259. package/dist/types/components/combobox/combobox.vue.d.ts +79 -13
  260. package/dist/types/components/combobox/combobox.vue.d.ts.map +1 -1
  261. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts +39 -6
  262. package/dist/types/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
  263. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts +39 -6
  264. package/dist/types/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
  265. package/dist/types/components/dropdown/dropdown.vue.d.ts +40 -4
  266. package/dist/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  267. package/dist/types/components/filter_pill/filter_pill.vue.d.ts +2016 -0
  268. package/dist/types/components/filter_pill/filter_pill.vue.d.ts.map +1 -0
  269. package/dist/types/components/filter_pill/index.d.ts +2 -0
  270. package/dist/types/components/filter_pill/index.d.ts.map +1 -0
  271. package/dist/types/components/hovercard/hovercard.vue.d.ts +80 -8
  272. package/dist/types/components/hovercard/hovercard.vue.d.ts.map +1 -1
  273. package/dist/types/components/image_viewer/image_viewer.vue.d.ts +40 -4
  274. package/dist/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  275. package/dist/types/components/input/input.vue.d.ts.map +1 -1
  276. package/dist/types/components/item_layout/item_layout.vue.d.ts +36 -5
  277. package/dist/types/components/item_layout/item_layout.vue.d.ts.map +1 -1
  278. package/dist/types/components/link/link.vue.d.ts +9 -0
  279. package/dist/types/components/list_item/list_item.vue.d.ts +39 -6
  280. package/dist/types/components/list_item/list_item.vue.d.ts.map +1 -1
  281. package/dist/types/components/loader/loader.vue.d.ts +1 -32
  282. package/dist/types/components/loader/loader.vue.d.ts.map +1 -1
  283. package/dist/types/components/modal/modal.vue.d.ts +40 -4
  284. package/dist/types/components/modal/modal.vue.d.ts.map +1 -1
  285. package/dist/types/components/mode_island/index.d.ts +3 -0
  286. package/dist/types/components/mode_island/index.d.ts.map +1 -0
  287. package/dist/types/components/mode_island/mode_island.vue.d.ts +3 -0
  288. package/dist/types/components/mode_island/mode_island.vue.d.ts.map +1 -0
  289. package/dist/types/components/mode_island/mode_island_constants.d.ts +10 -0
  290. package/dist/types/components/mode_island/mode_island_constants.d.ts.map +1 -0
  291. package/dist/types/components/mode_island/utils.d.ts +12 -0
  292. package/dist/types/components/mode_island/utils.d.ts.map +1 -0
  293. package/dist/types/components/mode_island/validators.d.ts +6 -0
  294. package/dist/types/components/mode_island/validators.d.ts.map +1 -0
  295. package/dist/types/components/notice/notice.vue.d.ts +40 -4
  296. package/dist/types/components/notice/notice.vue.d.ts.map +1 -1
  297. package/dist/types/components/notice/notice_action.vue.d.ts +40 -4
  298. package/dist/types/components/notice/notice_action.vue.d.ts.map +1 -1
  299. package/dist/types/components/pagination/pagination.vue.d.ts +20 -2
  300. package/dist/types/components/pagination/pagination.vue.d.ts.map +1 -1
  301. package/dist/types/components/popover/popover.vue.d.ts +40 -4
  302. package/dist/types/components/popover/popover.vue.d.ts.map +1 -1
  303. package/dist/types/components/popover/popover_header_footer.vue.d.ts +20 -2
  304. package/dist/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  305. package/dist/types/components/progress_circle/index.d.ts +3 -0
  306. package/dist/types/components/progress_circle/index.d.ts.map +1 -0
  307. package/dist/types/components/progress_circle/progress_circle.vue.d.ts +70 -0
  308. package/dist/types/components/progress_circle/progress_circle.vue.d.ts.map +1 -0
  309. package/dist/types/components/progress_circle/progress_circle_constants.d.ts +23 -0
  310. package/dist/types/components/progress_circle/progress_circle_constants.d.ts.map +1 -0
  311. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +9 -0
  312. package/dist/types/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
  313. package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +9 -0
  314. package/dist/types/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +71 -25
  315. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +39 -6
  316. package/dist/types/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
  317. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +61 -6
  318. package/dist/types/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
  319. package/dist/types/components/rich_text_editor/extensions/variable/variable.d.ts.map +1 -1
  320. package/dist/types/components/root_layout/root_layout_constants.d.ts +2 -0
  321. package/dist/types/components/root_layout/root_layout_constants.d.ts.map +1 -1
  322. package/dist/types/components/split_button/split_button-alpha.vue.d.ts +21 -3
  323. package/dist/types/components/split_button/split_button-alpha.vue.d.ts.map +1 -1
  324. package/dist/types/components/split_button/split_button-omega.vue.d.ts +20 -2
  325. package/dist/types/components/split_button/split_button-omega.vue.d.ts.map +1 -1
  326. package/dist/types/components/split_button/split_button.vue.d.ts +214 -28
  327. package/dist/types/components/split_button/split_button.vue.d.ts.map +1 -1
  328. package/dist/types/components/tab/tab.vue.d.ts +20 -2
  329. package/dist/types/components/text/index.d.ts +3 -0
  330. package/dist/types/components/text/index.d.ts.map +1 -0
  331. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts +3 -0
  332. package/dist/types/components/text/scripts/update-text-tone-tokens.d.cts.map +1 -0
  333. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts +3 -0
  334. package/dist/types/components/text/scripts/update_text_tone_tokens.d.cts.map +1 -0
  335. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts +1 -0
  336. package/dist/types/components/text/scripts/update_text_tone_tokens.d.ts.map +1 -0
  337. package/dist/types/components/text/text.vue.d.ts +141 -0
  338. package/dist/types/components/text/text.vue.d.ts.map +1 -0
  339. package/dist/types/components/text/text_constants.d.ts +73 -0
  340. package/dist/types/components/text/text_constants.d.ts.map +1 -0
  341. package/dist/types/components/text/text_tone_tokens.d.ts +3 -0
  342. package/dist/types/components/text/text_tone_tokens.d.ts.map +1 -0
  343. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +40 -4
  344. package/dist/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  345. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts +40 -4
  346. package/dist/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  347. package/dist/types/components/toast/toast.vue.d.ts +160 -16
  348. package/dist/types/components/toast/toast.vue.d.ts.map +1 -1
  349. package/dist/types/index.d.ts +4 -0
  350. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts +20 -2
  351. package/dist/types/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
  352. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +80 -8
  353. package/dist/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  354. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +80 -8
  355. package/dist/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  356. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +60 -6
  357. package/dist/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  358. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +20 -2
  359. package/dist/types/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
  360. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +198 -30
  361. package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  362. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +124 -12
  363. package/dist/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  364. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +104 -10
  365. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  366. package/dist/types/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +20 -2
  367. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +60 -6
  368. package/dist/types/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
  369. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +60 -6
  370. package/dist/types/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
  371. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +20 -2
  372. package/dist/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  373. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +56 -7
  374. package/dist/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  375. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +110 -31
  376. package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
  377. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +56 -7
  378. package/dist/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  379. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts +20 -2
  380. package/dist/types/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
  381. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +80 -8
  382. package/dist/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  383. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +20 -2
  384. package/dist/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  385. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +20 -2
  386. package/dist/types/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
  387. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +107 -30
  388. package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  389. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts +71 -25
  390. package/dist/types/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
  391. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +20 -2
  392. package/dist/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  393. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +449 -28
  394. package/dist/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  395. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts +378 -3
  396. package/dist/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  397. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts +378 -3
  398. package/dist/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  399. package/dist/types/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
  400. package/package.json +6 -5
  401. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +0 -30
  402. package/dist/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts.map +0 -1
@@ -1,9 +1,9 @@
1
- import { warn as l, resolveComponent as y, openBlock as r, createBlock as I, resolveDynamicComponent as k, mergeProps as O, toHandlers as _, withCtx as v, createElementBlock as u, normalizeClass as c, renderSlot as f, createCommentVNode as h } from "vue";
2
- import { hasSlotContent as o } from "../../common/utils/index.js";
3
- import { INVALID_COMBINATION as S, BUTTON_SIZE_MODIFIERS as d, BUTTON_IMPORTANCE_MODIFIERS as b, BUTTON_KIND_MODIFIERS as p, BUTTON_ICON_SIZES as g, ICON_POSITION_MODIFIERS as m, BUTTON_TYPES as N } from "./button-constants.js";
4
- import { DialtoneLocalization as B } from "../../localization/index.js";
5
- import { _ as D } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
6
- import { getLinkKindModifier as C, LINK_KIND_MODIFIERS as T } from "../link/link-constants.js";
1
+ import { warn as h, resolveComponent as k, openBlock as s, createBlock as _, resolveDynamicComponent as m, mergeProps as S, toHandlers as O, withCtx as p, createElementBlock as o, normalizeClass as l, renderSlot as r, createCommentVNode as d } from "vue";
2
+ import { hasSlotContent as a } from "../../common/utils/index.js";
3
+ import { INVALID_COMBINATION as v, BUTTON_SIZE_MODIFIERS as f, BUTTON_IMPORTANCE_MODIFIERS as b, BUTTON_KIND_MODIFIERS as I, BUTTON_ICON_SIZES as g, ICON_POSITION_MODIFIERS as y, BUTTON_TYPES as B } from "./button-constants.js";
4
+ import { DialtoneLocalization as N } from "../../localization/index.js";
5
+ import { _ as E } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
6
+ import { getLinkKindModifier as D, LINK_KIND_MODIFIERS as C } from "../link/link-constants.js";
7
7
  const L = {
8
8
  compatConfig: { MODE: 3 },
9
9
  name: "DtButton",
@@ -18,12 +18,13 @@ const L = {
18
18
  },
19
19
  /**
20
20
  * The position of the icon slot within the button.
21
- * @values left, right, top, bottom
21
+ * @deprecated Use startIcon / endIcon / blockStartIcon / blockEndIcon slots instead.
22
+ * @values start, end, blockStart, blockEnd, left, right, top, bottom
22
23
  */
23
24
  iconPosition: {
24
25
  type: String,
25
- default: "left",
26
- validator: (t) => Object.keys(m).includes(t)
26
+ default: "start",
27
+ validator: (t) => Object.keys(y).includes(t)
27
28
  },
28
29
  /**
29
30
  * The fill and outline of the button associated with its visual importance.
@@ -51,7 +52,7 @@ const L = {
51
52
  linkKind: {
52
53
  type: String,
53
54
  default: "default",
54
- validator: (t) => Object.keys(T).includes(t)
55
+ validator: (t) => Object.keys(C).includes(t)
55
56
  },
56
57
  /**
57
58
  * Determines whether the link should have inverted styling if the button is styled as a link.
@@ -62,6 +63,15 @@ const L = {
62
63
  type: Boolean,
63
64
  default: !1
64
65
  },
66
+ /**
67
+ * Determines whether the link-styled button should display an underline.
68
+ * Only applies when the link prop is true.
69
+ * @values true, false
70
+ */
71
+ underline: {
72
+ type: Boolean,
73
+ default: !0
74
+ },
65
75
  /**
66
76
  * HTML button disabled attribute
67
77
  * <a class="d-link" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled" target="_blank"> (Reference) </a>
@@ -79,7 +89,7 @@ const L = {
79
89
  type: {
80
90
  type: String,
81
91
  default: "button",
82
- validator: (t) => N.includes(t)
92
+ validator: (t) => B.includes(t)
83
93
  },
84
94
  /**
85
95
  * Button width, accepts
@@ -96,7 +106,7 @@ const L = {
96
106
  size: {
97
107
  type: String,
98
108
  default: "md",
99
- validator: (t) => Object.keys(d).includes(t)
109
+ validator: (t) => Object.keys(f).includes(t)
100
110
  },
101
111
  /**
102
112
  * Used to customize the label container
@@ -120,7 +130,7 @@ const L = {
120
130
  kind: {
121
131
  type: String,
122
132
  default: "default",
123
- validator: (t) => Object.keys(p).includes(t)
133
+ validator: (t) => Object.keys(I).includes(t)
124
134
  },
125
135
  /**
126
136
  * Determines whether a screenreader reads live updates of
@@ -200,11 +210,11 @@ const L = {
200
210
  ],
201
211
  data() {
202
212
  return {
203
- ICON_POSITION_MODIFIERS: m,
213
+ ICON_POSITION_MODIFIERS: y,
204
214
  // whether the button is currently in focus
205
215
  isInFocus: !1,
206
- hasSlotContent: o,
207
- i18n: new B()
216
+ hasSlotContent: a,
217
+ i18n: new N()
208
218
  };
209
219
  },
210
220
  computed: {
@@ -231,17 +241,17 @@ const L = {
231
241
  },
232
242
  computedListeners() {
233
243
  const t = {
234
- focusin: (e) => {
235
- this.isInFocus = this.assertiveOnFocus, this.$emit("focusin", e);
244
+ focusin: (i) => {
245
+ this.isInFocus = this.assertiveOnFocus, this.$emit("focusin", i);
236
246
  },
237
- focusout: (e) => {
238
- this.isInFocus = !1, this.$emit("focusout", e);
247
+ focusout: (i) => {
248
+ this.isInFocus = !1, this.$emit("focusout", i);
239
249
  }
240
250
  };
241
- return this.isNativeButton || (this.disabled && (t.click = (e) => {
242
- e.preventDefault(), e.stopImmediatePropagation();
243
- }), t.keydown = (e) => {
244
- (e.key === " " || e.code === "Space") && (e.preventDefault(), this.disabled || e.target.click());
251
+ return this.isNativeButton || (this.disabled && (t.click = (i) => {
252
+ i.preventDefault(), i.stopImmediatePropagation();
253
+ }), t.keydown = (i) => {
254
+ (i.key === " " || i.code === "Space") && (i.preventDefault(), this.disabled || i.target.click());
245
255
  }), t;
246
256
  },
247
257
  computedAriaLive() {
@@ -249,6 +259,21 @@ const L = {
249
259
  },
250
260
  iconSize() {
251
261
  return g[this.size];
262
+ },
263
+ hasStartIcon() {
264
+ return a(this.$slots.startIcon);
265
+ },
266
+ hasEndIcon() {
267
+ return a(this.$slots.endIcon);
268
+ },
269
+ hasBlockStartIcon() {
270
+ return a(this.$slots.blockStartIcon);
271
+ },
272
+ hasBlockEndIcon() {
273
+ return a(this.$slots.blockEndIcon);
274
+ },
275
+ hasNewIconSlots() {
276
+ return this.hasStartIcon || this.hasEndIcon || this.hasBlockStartIcon || this.hasBlockEndIcon;
252
277
  }
253
278
  },
254
279
  watch: {
@@ -256,28 +281,29 @@ const L = {
256
281
  deep: !0,
257
282
  immediate: !0,
258
283
  handler() {
259
- process.env.NODE_ENV !== "production" && (this.circle && this.link && l("You cannot enable circle and link at the same time", this), this.isInvalidPropCombination(this.circle, this.kind, this.importance));
284
+ process.env.NODE_ENV !== "production" && (this.circle && this.link && h("You cannot enable circle and link at the same time", this), this.isInvalidPropCombination(this.circle, this.kind, this.importance));
260
285
  }
261
286
  }
262
287
  },
263
288
  methods: {
264
289
  resolveRouterLink() {
265
290
  try {
266
- return y("RouterLink");
291
+ return k("RouterLink");
267
292
  } catch {
268
- return l('DtButton: "to" prop requires vue-router. Falling back to <a>.'), "a";
293
+ return h('DtButton: "to" prop requires vue-router. Falling back to <a>.'), "a";
269
294
  }
270
295
  },
271
296
  buttonClasses() {
272
297
  return this.link ? [
273
298
  "d-link",
274
- C(this.linkKind, this.linkInverted),
275
- d[this.size]
299
+ D(this.linkKind, this.linkInverted),
300
+ f[this.size],
301
+ { "d-link--no-underline": !this.underline }
276
302
  ] : this.kind === "unstyled" ? ["d-btn--unstyled"] : [
277
303
  "d-btn",
278
304
  b[this.importance],
279
- p[this.kind],
280
- d[this.size],
305
+ I[this.kind],
306
+ f[this.size],
281
307
  {
282
308
  "d-btn--circle": this.circle,
283
309
  "d-btn--loading": this.loading,
@@ -287,67 +313,119 @@ const L = {
287
313
  }
288
314
  ];
289
315
  },
290
- isInvalidPropCombination(t, e, i) {
316
+ isInvalidPropCombination(t, i, e) {
291
317
  if (this.kind === "unstyled")
292
318
  return !0;
293
- for (const s of S)
294
- if (t === s.circle && e === s.kind && i === s.importance)
295
- return l(s.message), !1;
319
+ for (const c of v)
320
+ if (t === c.circle && i === c.kind && e === c.importance)
321
+ return h(c.message), !1;
296
322
  return !0;
297
323
  },
298
- shouldRenderIcon() {
299
- return o(this.$slots.icon) && !this.link;
324
+ shouldRenderLegacyIcon() {
325
+ return a(this.$slots.icon) && !this.hasNewIconSlots && !this.link;
300
326
  },
301
327
  isIconOnly() {
302
- return this.shouldRenderIcon() && !o(this.$slots.default);
328
+ return (this.hasNewIconSlots || this.shouldRenderLegacyIcon()) && !a(this.$slots.default);
303
329
  },
304
330
  isVerticalIconLayout() {
305
- return !this.isIconOnly() && ["top", "bottom"].includes(this.iconPosition);
331
+ return this.isIconOnly() ? !1 : this.hasBlockStartIcon || this.hasBlockEndIcon ? !0 : !this.hasNewIconSlots && ["top", "bottom"].includes(this.iconPosition);
306
332
  }
307
333
  }
308
334
  };
309
- function E(t, e, i, s, a, n) {
310
- return r(), I(k(n.computedTag), O({
335
+ function T(t, i, e, c, u, n) {
336
+ return s(), _(m(n.computedTag), S({
311
337
  class: [
312
338
  "base-button__button",
313
339
  n.buttonClasses()
314
340
  ],
315
341
  "data-qa": "dt-button",
316
- style: { width: i.width },
342
+ style: { width: e.width },
317
343
  "aria-live": n.computedAriaLive,
318
- "aria-label": i.loading ? a.i18n.$t("DIALTONE_LOADING") : t.$attrs["aria-label"]
319
- }, n.computedAttrs, _(n.computedListeners)), {
320
- default: v(() => [
321
- n.shouldRenderIcon() ? (r(), u("span", {
344
+ "aria-label": e.loading ? u.i18n.$t("DIALTONE_LOADING") : t.$attrs["aria-label"]
345
+ }, n.computedAttrs, O(n.computedListeners)), {
346
+ default: p(() => [
347
+ n.hasBlockStartIcon ? (s(), o("span", {
322
348
  key: 0,
323
- "data-qa": "dt-button-icon",
324
- class: c([
349
+ "data-qa": "dt-button-block-start-icon",
350
+ class: l([
325
351
  "base-button__icon",
326
352
  {
327
- "d-btn__icon": i.kind !== "unstyled",
328
- [a.ICON_POSITION_MODIFIERS[i.iconPosition]]: i.kind !== "unstyled"
353
+ "d-btn__icon": e.kind !== "unstyled",
354
+ "d-btn__icon--top": e.kind !== "unstyled"
329
355
  }
330
356
  ])
331
357
  }, [
332
- f(t.$slots, "icon", { iconSize: n.iconSize })
333
- ], 2)) : h("", !0),
334
- a.hasSlotContent(t.$slots.default) ? (r(), u("span", {
358
+ r(t.$slots, "blockStartIcon", { iconSize: n.iconSize })
359
+ ], 2)) : d("", !0),
360
+ n.hasStartIcon ? (s(), o("span", {
335
361
  key: 1,
362
+ "data-qa": "dt-button-start-icon",
363
+ class: l([
364
+ "base-button__icon",
365
+ {
366
+ "d-btn__icon": e.kind !== "unstyled",
367
+ "d-btn__icon--left": e.kind !== "unstyled"
368
+ }
369
+ ])
370
+ }, [
371
+ r(t.$slots, "startIcon", { iconSize: n.iconSize })
372
+ ], 2)) : d("", !0),
373
+ n.shouldRenderLegacyIcon() ? (s(), o("span", {
374
+ key: 2,
375
+ "data-qa": "dt-button-icon",
376
+ class: l([
377
+ "base-button__icon",
378
+ {
379
+ "d-btn__icon": e.kind !== "unstyled",
380
+ [u.ICON_POSITION_MODIFIERS[e.iconPosition]]: e.kind !== "unstyled"
381
+ }
382
+ ])
383
+ }, [
384
+ r(t.$slots, "icon", { iconSize: n.iconSize })
385
+ ], 2)) : d("", !0),
386
+ u.hasSlotContent(t.$slots.default) ? (s(), o("span", {
387
+ key: 3,
336
388
  "data-qa": "dt-button-label",
337
- class: c([
389
+ class: l([
338
390
  "base-button__label",
339
- { "d-btn__label": i.kind !== "unstyled" },
340
- i.labelClass
391
+ { "d-btn__label": e.kind !== "unstyled" },
392
+ e.labelClass
393
+ ])
394
+ }, [
395
+ r(t.$slots, "default")
396
+ ], 2)) : d("", !0),
397
+ n.hasEndIcon ? (s(), o("span", {
398
+ key: 4,
399
+ "data-qa": "dt-button-end-icon",
400
+ class: l([
401
+ "base-button__icon",
402
+ {
403
+ "d-btn__icon": e.kind !== "unstyled",
404
+ "d-btn__icon--right": e.kind !== "unstyled"
405
+ }
406
+ ])
407
+ }, [
408
+ r(t.$slots, "endIcon", { iconSize: n.iconSize })
409
+ ], 2)) : d("", !0),
410
+ n.hasBlockEndIcon ? (s(), o("span", {
411
+ key: 5,
412
+ "data-qa": "dt-button-block-end-icon",
413
+ class: l([
414
+ "base-button__icon",
415
+ {
416
+ "d-btn__icon": e.kind !== "unstyled",
417
+ "d-btn__icon--bottom": e.kind !== "unstyled"
418
+ }
341
419
  ])
342
420
  }, [
343
- f(t.$slots, "default")
344
- ], 2)) : h("", !0)
421
+ r(t.$slots, "blockEndIcon", { iconSize: n.iconSize })
422
+ ], 2)) : d("", !0)
345
423
  ]),
346
424
  _: 3
347
425
  }, 16, ["class", "style", "aria-live", "aria-label"]);
348
426
  }
349
- const z = /* @__PURE__ */ D(L, [["render", E]]);
427
+ const M = /* @__PURE__ */ E(L, [["render", T]]);
350
428
  export {
351
- z as default
429
+ M as default
352
430
  };
353
431
  //# sourceMappingURL=button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sources":["../../../components/button/button.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n :class=\"[\n 'base-button__button',\n buttonClasses(),\n ]\"\n data-qa=\"dt-button\"\n :style=\"{ width: width }\"\n :aria-live=\"computedAriaLive\"\n :aria-label=\"loading ? i18n.$t('DIALTONE_LOADING') : $attrs['aria-label']\"\n v-bind=\"computedAttrs\"\n v-on=\"computedListeners\"\n >\n <!-- NOTE(cormac): This span is needed since we can't apply styles to slots. -->\n <span\n v-if=\"shouldRenderIcon()\"\n data-qa=\"dt-button-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n [ICON_POSITION_MODIFIERS[iconPosition]]: kind !== 'unstyled',\n },\n ]\"\n >\n <!-- @slot Button icon -->\n <slot\n name=\"icon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <span\n v-if=\"hasSlotContent($slots.default)\"\n data-qa=\"dt-button-label\"\n :class=\"[\n 'base-button__label',\n { 'd-btn__label': kind !== 'unstyled' },\n labelClass,\n ]\"\n >\n <!-- @slot Content within button -->\n <slot />\n </span>\n </component>\n</template>\n\n<script>\nimport { warn, resolveComponent } from 'vue';\nimport { hasSlotContent } from '@/common/utils';\n\nimport {\n BUTTON_SIZE_MODIFIERS,\n BUTTON_KIND_MODIFIERS,\n BUTTON_IMPORTANCE_MODIFIERS,\n BUTTON_ICON_SIZES,\n BUTTON_TYPES,\n ICON_POSITION_MODIFIERS,\n INVALID_COMBINATION,\n} from './button_constants';\n\nimport { LINK_KIND_MODIFIERS, getLinkKindModifier } from '@/components/link';\nimport { DialtoneLocalization } from '@/localization';\n\n/**\n * A button is a UI element which allows users to take an action throughout the app.\n * It is important a button is identifiable, consistent, and communicates its actions clearly,\n * and is appropriately sized to its action.\n * @see https://dialtone.dialpad.com/components/button.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtButton',\n\n props: {\n /**\n * Whether the button is a circle or not.\n * @values true, false\n */\n circle: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The position of the icon slot within the button.\n * @values left, right, top, bottom\n */\n iconPosition: {\n type: String,\n default: 'left',\n validator: (position) => Object.keys(ICON_POSITION_MODIFIERS).includes(position),\n },\n\n /**\n * The fill and outline of the button associated with its visual importance.\n * @values clear, outlined, primary\n */\n importance: {\n type: String,\n default: 'primary',\n validator: (i) => Object.keys(BUTTON_IMPORTANCE_MODIFIERS).includes(i),\n },\n\n /**\n * Whether the button should be styled as a link or not.\n * @values true, false\n * @see DtLink\n */\n link: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the link and button if the button is styled as a link.\n * @values default, warning, danger, success, muted\n * @see DtLink\n */\n linkKind: {\n type: String,\n default: 'default',\n validator: (lk) => Object.keys(LINK_KIND_MODIFIERS).includes(lk),\n },\n\n /**\n * Determines whether the link should have inverted styling if the button is styled as a link.\n * @values true, false\n * @see DtLink\n */\n linkInverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML button disabled attribute\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled\" target=\"_blank\"> (Reference) </a>\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML button type attribute\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type\" target=\"_blank\">(Reference)</a>\n * @values button, submit, reset\n */\n type: {\n type: String,\n default: 'button',\n validator: (t) => BUTTON_TYPES.includes(t),\n },\n\n /**\n * Button width, accepts\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/width\" target=\"_blank\">CSS width attribute</a> values\n */\n width: {\n type: String,\n default: null,\n },\n\n /**\n * The size of the button.\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(BUTTON_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Whether the button should display a loading animation or not.\n * @values true, false\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the button.\n * @values default, unstyled, muted, danger, positive, inverted\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(BUTTON_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * Determines whether a screenreader reads live updates of\n * the button content to the user while the button\n * is in focus. default is to not.\n * @values true, false\n */\n assertiveOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should have active styling\n * default is false.\n * @values true, false\n */\n active: {\n type: Boolean,\n default: false,\n },\n\n /**\n * vue-router `to` prop. When provided, renders a `<router-link>`\n * for client-side SPA navigation.\n * @see https://router.vuejs.org/api/interfaces/RouterLinkProps.html#to\n */\n to: {\n type: [String, Object],\n default: null,\n },\n\n /**\n * When provided, renders an `<a>` element for standard browser navigation.\n */\n href: {\n type: String,\n default: null,\n },\n\n /**\n * HTML anchor target attribute. Only applied when using the `href` prop.\n * @values _self, _blank, _parent, _top\n */\n target: {\n type: String,\n default: null,\n },\n\n /**\n * HTML anchor rel attribute. Only applied when using the `href` prop.\n */\n rel: {\n type: String,\n default: null,\n },\n\n /**\n * vue-router `replace` prop. When true, navigation will not leave a\n * history entry. Only applied when using the `to` prop.\n * @values true, false\n */\n replace: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native button focus in event\n *\n * @event focusin\n * @type {FocusEvent}\n */\n 'focusin',\n\n /**\n * Native button focus out event\n *\n * @event focusout\n * @type {FocusEvent}\n */\n 'focusout',\n ],\n\n data () {\n return {\n ICON_POSITION_MODIFIERS,\n // whether the button is currently in focus\n isInFocus: false,\n hasSlotContent,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n computedTag () {\n if (this.to) return this.resolveRouterLink();\n if (this.href) return 'a';\n return 'button';\n },\n\n isNativeButton () {\n return !this.to && !this.href;\n },\n\n computedAttrs () {\n if (this.to) {\n return {\n to: this.to,\n replace: this.replace,\n ...(this.disabled && { 'aria-disabled': 'true', tabindex: '-1' }),\n };\n }\n if (this.href) {\n return {\n href: this.disabled ? null : this.href,\n target: this.target,\n rel: this.rel,\n ...(this.disabled && { 'aria-disabled': 'true', tabindex: '-1' }),\n };\n }\n return {\n type: this.type,\n disabled: this.disabled,\n };\n },\n\n computedListeners () {\n const listeners = {\n focusin: (e) => {\n this.isInFocus = this.assertiveOnFocus;\n this.$emit('focusin', e);\n },\n\n focusout: (e) => {\n this.isInFocus = false;\n this.$emit('focusout', e);\n },\n };\n\n if (!this.isNativeButton) {\n // Prevent click when disabled for link elements.\n // stopImmediatePropagation prevents parent onClick attrs from firing.\n if (this.disabled) {\n listeners.click = (e) => {\n e.preventDefault();\n e.stopImmediatePropagation();\n };\n }\n\n // Space key handler: <a> only responds to Enter natively,\n // but buttons respond to both Enter and Space.\n listeners.keydown = (e) => {\n if (e.key === ' ' || e.code === 'Space') {\n e.preventDefault();\n if (!this.disabled) {\n e.target.click();\n }\n }\n };\n }\n\n return listeners;\n },\n\n computedAriaLive () {\n return this.assertiveOnFocus && this.isInFocus ? 'assertive' : this.$attrs.ariaLive;\n },\n\n iconSize () {\n return BUTTON_ICON_SIZES[this.size];\n },\n },\n\n watch: {\n $props: {\n deep: true,\n immediate: true,\n handler () {\n if (process.env.NODE_ENV === 'production') return;\n\n if (this.circle && this.link) {\n warn('You cannot enable circle and link at the same time', this);\n }\n\n this.isInvalidPropCombination(this.circle, this.kind, this.importance);\n },\n },\n },\n\n methods: {\n resolveRouterLink () {\n try {\n return resolveComponent('RouterLink');\n } catch {\n warn('DtButton: \"to\" prop requires vue-router. Falling back to <a>.');\n return 'a';\n }\n },\n\n buttonClasses () {\n if (this.link) {\n return [\n 'd-link',\n getLinkKindModifier(this.linkKind, this.linkInverted),\n BUTTON_SIZE_MODIFIERS[this.size],\n ];\n }\n if (this.kind === 'unstyled') {\n return ['d-btn--unstyled'];\n }\n return [\n 'd-btn',\n BUTTON_IMPORTANCE_MODIFIERS[this.importance],\n BUTTON_KIND_MODIFIERS[this.kind],\n BUTTON_SIZE_MODIFIERS[this.size],\n {\n 'd-btn--circle': this.circle,\n 'd-btn--loading': this.loading,\n 'd-btn--icon-only': this.isIconOnly(),\n 'd-btn--vertical': this.isVerticalIconLayout(),\n 'd-btn--active': this.active,\n },\n ];\n },\n\n isInvalidPropCombination (circle, kind, importance) {\n // Skip validation if unstyled is true\n if (this.kind === 'unstyled') {\n return true;\n }\n\n for (const row of INVALID_COMBINATION) {\n if (circle === row.circle && kind === row.kind && importance === row.importance) {\n warn(row.message);\n return false;\n }\n }\n return true;\n },\n\n shouldRenderIcon () {\n return hasSlotContent(this.$slots.icon) && !this.link;\n },\n\n isIconOnly () {\n return this.shouldRenderIcon() && !hasSlotContent(this.$slots.default);\n },\n\n isVerticalIconLayout () {\n return !this.isIconOnly() && ['top', 'bottom'].includes(this.iconPosition);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","position","ICON_POSITION_MODIFIERS","i","BUTTON_IMPORTANCE_MODIFIERS","lk","LINK_KIND_MODIFIERS","BUTTON_TYPES","s","BUTTON_SIZE_MODIFIERS","k","BUTTON_KIND_MODIFIERS","hasSlotContent","DialtoneLocalization","listeners","BUTTON_ICON_SIZES","warn","resolveComponent","getLinkKindModifier","circle","kind","importance","row","INVALID_COMBINATION","_createBlock","_resolveDynamicComponent","$options","_mergeProps","$props","$data","_ctx","_toHandlers","_createElementBlock","_normalizeClass","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"button.js","sources":["../../../components/button/button.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n :class=\"[\n 'base-button__button',\n buttonClasses(),\n ]\"\n data-qa=\"dt-button\"\n :style=\"{ width: width }\"\n :aria-live=\"computedAriaLive\"\n :aria-label=\"loading ? i18n.$t('DIALTONE_LOADING') : $attrs['aria-label']\"\n v-bind=\"computedAttrs\"\n v-on=\"computedListeners\"\n >\n <!-- NEW: Block-start icon slot (above label) -->\n <span\n v-if=\"hasBlockStartIcon\"\n data-qa=\"dt-button-block-start-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n 'd-btn__icon--top': kind !== 'unstyled',\n },\n ]\"\n >\n <!-- @slot Icon displayed above the button label (block-start) -->\n <slot\n name=\"blockStartIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <!-- NEW: Start icon slot -->\n <span\n v-if=\"hasStartIcon\"\n data-qa=\"dt-button-start-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n 'd-btn__icon--left': kind !== 'unstyled',\n },\n ]\"\n >\n <!-- @slot Icon displayed at the start (left in LTR) of the button -->\n <slot\n name=\"startIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <!-- NOTE(cormac): This span is needed since we can't apply styles to slots. -->\n <span\n v-if=\"shouldRenderLegacyIcon()\"\n data-qa=\"dt-button-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n [ICON_POSITION_MODIFIERS[iconPosition]]: kind !== 'unstyled',\n },\n ]\"\n >\n <!-- @slot Button icon -->\n <slot\n name=\"icon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <span\n v-if=\"hasSlotContent($slots.default)\"\n data-qa=\"dt-button-label\"\n :class=\"[\n 'base-button__label',\n { 'd-btn__label': kind !== 'unstyled' },\n labelClass,\n ]\"\n >\n <!-- @slot Content within button -->\n <slot />\n </span>\n <!-- NEW: End icon slot -->\n <span\n v-if=\"hasEndIcon\"\n data-qa=\"dt-button-end-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n 'd-btn__icon--right': kind !== 'unstyled',\n },\n ]\"\n >\n <!-- @slot Icon displayed at the end (right in LTR) of the button -->\n <slot\n name=\"endIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <!-- NEW: Block-end icon slot (below label) -->\n <span\n v-if=\"hasBlockEndIcon\"\n data-qa=\"dt-button-block-end-icon\"\n :class=\"[\n 'base-button__icon',\n {\n 'd-btn__icon': kind !== 'unstyled',\n 'd-btn__icon--bottom': kind !== 'unstyled',\n },\n ]\"\n >\n <!-- @slot Icon displayed below the button label (block-end) -->\n <slot\n name=\"blockEndIcon\"\n :icon-size=\"iconSize\"\n />\n </span>\n </component>\n</template>\n\n<script>\nimport { warn, resolveComponent } from 'vue';\nimport { hasSlotContent } from '@/common/utils';\n\nimport {\n BUTTON_SIZE_MODIFIERS,\n BUTTON_KIND_MODIFIERS,\n BUTTON_IMPORTANCE_MODIFIERS,\n BUTTON_ICON_SIZES,\n BUTTON_TYPES,\n ICON_POSITION_MODIFIERS,\n INVALID_COMBINATION,\n} from './button_constants';\n\nimport { LINK_KIND_MODIFIERS, getLinkKindModifier } from '@/components/link';\nimport { DialtoneLocalization } from '@/localization';\n\n/**\n * A button is a UI element which allows users to take an action throughout the app.\n * It is important a button is identifiable, consistent, and communicates its actions clearly,\n * and is appropriately sized to its action.\n * @see https://dialtone.dialpad.com/components/button.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtButton',\n\n props: {\n /**\n * Whether the button is a circle or not.\n * @values true, false\n */\n circle: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The position of the icon slot within the button.\n * @deprecated Use startIcon / endIcon / blockStartIcon / blockEndIcon slots instead.\n * @values start, end, blockStart, blockEnd, left, right, top, bottom\n */\n iconPosition: {\n type: String,\n default: 'start',\n validator: (position) => Object.keys(ICON_POSITION_MODIFIERS).includes(position),\n },\n\n /**\n * The fill and outline of the button associated with its visual importance.\n * @values clear, outlined, primary\n */\n importance: {\n type: String,\n default: 'primary',\n validator: (i) => Object.keys(BUTTON_IMPORTANCE_MODIFIERS).includes(i),\n },\n\n /**\n * Whether the button should be styled as a link or not.\n * @values true, false\n * @see DtLink\n */\n link: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the link and button if the button is styled as a link.\n * @values default, warning, danger, success, muted\n * @see DtLink\n */\n linkKind: {\n type: String,\n default: 'default',\n validator: (lk) => Object.keys(LINK_KIND_MODIFIERS).includes(lk),\n },\n\n /**\n * Determines whether the link should have inverted styling if the button is styled as a link.\n * @values true, false\n * @see DtLink\n */\n linkInverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the link-styled button should display an underline.\n * Only applies when the link prop is true.\n * @values true, false\n */\n underline: {\n type: Boolean,\n default: true,\n },\n\n /**\n * HTML button disabled attribute\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled\" target=\"_blank\"> (Reference) </a>\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML button type attribute\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type\" target=\"_blank\">(Reference)</a>\n * @values button, submit, reset\n */\n type: {\n type: String,\n default: 'button',\n validator: (t) => BUTTON_TYPES.includes(t),\n },\n\n /**\n * Button width, accepts\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/width\" target=\"_blank\">CSS width attribute</a> values\n */\n width: {\n type: String,\n default: null,\n },\n\n /**\n * The size of the button.\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(BUTTON_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Whether the button should display a loading animation or not.\n * @values true, false\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the button.\n * @values default, unstyled, muted, danger, positive, inverted\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(BUTTON_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * Determines whether a screenreader reads live updates of\n * the button content to the user while the button\n * is in focus. default is to not.\n * @values true, false\n */\n assertiveOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should have active styling\n * default is false.\n * @values true, false\n */\n active: {\n type: Boolean,\n default: false,\n },\n\n /**\n * vue-router `to` prop. When provided, renders a `<router-link>`\n * for client-side SPA navigation.\n * @see https://router.vuejs.org/api/interfaces/RouterLinkProps.html#to\n */\n to: {\n type: [String, Object],\n default: null,\n },\n\n /**\n * When provided, renders an `<a>` element for standard browser navigation.\n */\n href: {\n type: String,\n default: null,\n },\n\n /**\n * HTML anchor target attribute. Only applied when using the `href` prop.\n * @values _self, _blank, _parent, _top\n */\n target: {\n type: String,\n default: null,\n },\n\n /**\n * HTML anchor rel attribute. Only applied when using the `href` prop.\n */\n rel: {\n type: String,\n default: null,\n },\n\n /**\n * vue-router `replace` prop. When true, navigation will not leave a\n * history entry. Only applied when using the `to` prop.\n * @values true, false\n */\n replace: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native button focus in event\n *\n * @event focusin\n * @type {FocusEvent}\n */\n 'focusin',\n\n /**\n * Native button focus out event\n *\n * @event focusout\n * @type {FocusEvent}\n */\n 'focusout',\n ],\n\n data () {\n return {\n ICON_POSITION_MODIFIERS,\n // whether the button is currently in focus\n isInFocus: false,\n hasSlotContent,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n computedTag () {\n if (this.to) return this.resolveRouterLink();\n if (this.href) return 'a';\n return 'button';\n },\n\n isNativeButton () {\n return !this.to && !this.href;\n },\n\n computedAttrs () {\n if (this.to) {\n return {\n to: this.to,\n replace: this.replace,\n ...(this.disabled && { 'aria-disabled': 'true', tabindex: '-1' }),\n };\n }\n if (this.href) {\n return {\n href: this.disabled ? null : this.href,\n target: this.target,\n rel: this.rel,\n ...(this.disabled && { 'aria-disabled': 'true', tabindex: '-1' }),\n };\n }\n return {\n type: this.type,\n disabled: this.disabled,\n };\n },\n\n computedListeners () {\n const listeners = {\n focusin: (e) => {\n this.isInFocus = this.assertiveOnFocus;\n this.$emit('focusin', e);\n },\n\n focusout: (e) => {\n this.isInFocus = false;\n this.$emit('focusout', e);\n },\n };\n\n if (!this.isNativeButton) {\n // Prevent click when disabled for link elements.\n // stopImmediatePropagation prevents parent onClick attrs from firing.\n if (this.disabled) {\n listeners.click = (e) => {\n e.preventDefault();\n e.stopImmediatePropagation();\n };\n }\n\n // Space key handler: <a> only responds to Enter natively,\n // but buttons respond to both Enter and Space.\n listeners.keydown = (e) => {\n if (e.key === ' ' || e.code === 'Space') {\n e.preventDefault();\n if (!this.disabled) {\n e.target.click();\n }\n }\n };\n }\n\n return listeners;\n },\n\n computedAriaLive () {\n return this.assertiveOnFocus && this.isInFocus ? 'assertive' : this.$attrs.ariaLive;\n },\n\n iconSize () {\n return BUTTON_ICON_SIZES[this.size];\n },\n\n hasStartIcon () {\n return hasSlotContent(this.$slots.startIcon);\n },\n\n hasEndIcon () {\n return hasSlotContent(this.$slots.endIcon);\n },\n\n hasBlockStartIcon () {\n return hasSlotContent(this.$slots.blockStartIcon);\n },\n\n hasBlockEndIcon () {\n return hasSlotContent(this.$slots.blockEndIcon);\n },\n\n hasNewIconSlots () {\n return this.hasStartIcon || this.hasEndIcon || this.hasBlockStartIcon || this.hasBlockEndIcon;\n },\n },\n\n watch: {\n $props: {\n deep: true,\n immediate: true,\n handler () {\n if (process.env.NODE_ENV === 'production') return;\n\n if (this.circle && this.link) {\n warn('You cannot enable circle and link at the same time', this);\n }\n\n this.isInvalidPropCombination(this.circle, this.kind, this.importance);\n },\n },\n },\n\n methods: {\n resolveRouterLink () {\n try {\n return resolveComponent('RouterLink');\n } catch {\n warn('DtButton: \"to\" prop requires vue-router. Falling back to <a>.');\n return 'a';\n }\n },\n\n buttonClasses () {\n if (this.link) {\n return [\n 'd-link',\n getLinkKindModifier(this.linkKind, this.linkInverted),\n BUTTON_SIZE_MODIFIERS[this.size],\n { 'd-link--no-underline': !this.underline },\n ];\n }\n if (this.kind === 'unstyled') {\n return ['d-btn--unstyled'];\n }\n return [\n 'd-btn',\n BUTTON_IMPORTANCE_MODIFIERS[this.importance],\n BUTTON_KIND_MODIFIERS[this.kind],\n BUTTON_SIZE_MODIFIERS[this.size],\n {\n 'd-btn--circle': this.circle,\n 'd-btn--loading': this.loading,\n 'd-btn--icon-only': this.isIconOnly(),\n 'd-btn--vertical': this.isVerticalIconLayout(),\n 'd-btn--active': this.active,\n },\n ];\n },\n\n isInvalidPropCombination (circle, kind, importance) {\n // Skip validation if unstyled is true\n if (this.kind === 'unstyled') {\n return true;\n }\n\n for (const row of INVALID_COMBINATION) {\n if (circle === row.circle && kind === row.kind && importance === row.importance) {\n warn(row.message);\n return false;\n }\n }\n return true;\n },\n\n shouldRenderLegacyIcon () {\n return hasSlotContent(this.$slots.icon) && !this.hasNewIconSlots && !this.link;\n },\n\n isIconOnly () {\n return (this.hasNewIconSlots || this.shouldRenderLegacyIcon()) && !hasSlotContent(this.$slots.default);\n },\n\n isVerticalIconLayout () {\n if (this.isIconOnly()) return false;\n if (this.hasBlockStartIcon || this.hasBlockEndIcon) return true;\n return !this.hasNewIconSlots && ['top', 'bottom'].includes(this.iconPosition);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","position","ICON_POSITION_MODIFIERS","i","BUTTON_IMPORTANCE_MODIFIERS","lk","LINK_KIND_MODIFIERS","BUTTON_TYPES","s","BUTTON_SIZE_MODIFIERS","k","BUTTON_KIND_MODIFIERS","hasSlotContent","DialtoneLocalization","listeners","e","BUTTON_ICON_SIZES","warn","resolveComponent","getLinkKindModifier","circle","kind","importance","row","INVALID_COMBINATION","_createBlock","_resolveDynamicComponent","$options","_mergeProps","$props","$data","_ctx","_toHandlers","_createElementBlock","_normalizeClass","_renderSlot"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("./callbar-button-constants.cjs"),r=require("../../common/utils/index.cjs"),t=require("vue"),s=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),d=require("../tooltip/tooltip.cjs"),u=require("../button/button.cjs"),c={compatConfig:{MODE:3},name:"DtRecipeCallbarButton",components:{DtButton:u.default,DtTooltip:d.default},inheritAttrs:!1,props:{id:{type:String,default(){return r.default.getUniqueString()}},active:{type:Boolean,default:!1},danger:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},circle:{type:Boolean,default:!1},ariaLabel:{type:String,default:null,validator:e=>e||(void 0).$slots.default},buttonClass:{type:[String,Array,Object],default:""},textClass:{type:[String,Array,Object],default:""},buttonWidthSize:{type:String,default:"xl",validator:e=>n.CALLBAR_BUTTON_VALID_WIDTH_SIZE.includes(e)},importance:{type:String,default:""},invertedTooltip:{type:Boolean,default:!1},showTooltip:{type:Boolean,default:null},tooltipText:{type:String,default:void 0},tooltipDelay:{type:Boolean,default:void 0}},emits:["click"],computed:{callbarButtonClass(){return[this.buttonClass,"d-recipe-callbar-button",{"d-recipe-callbar-button--circle":this.circle,"d-recipe-callbar-button--active":this.active,"d-recipe-callbar-button--danger":this.danger,"d-btn--disabled":this.disabled}]},callbarButtonTextClass(){return["d-recipe-callbar-button__text",this.textClass]},buttonWidth(){switch(this.buttonWidthSize){case"sm":return"4.5rem";case"md":return"6rem";default:return"8.4rem"}},buttonImportance(){return this.importance?this.importance:this.circle?"outlined":"clear"},callbarButtonListeners(){return{...r.extractVueListeners(this.$attrs),click:e=>this.$emit("click",e)}}},methods:{removeClassStyleAttrs:r.removeClassStyleAttrs,addClassStyleAttrs:r.addClassStyleAttrs}};function b(e,f,l,m,h,a){const o=t.resolveComponent("dt-button"),i=t.resolveComponent("dt-tooltip");return t.openBlock(),t.createBlock(i,t.mergeProps({id:l.id,inverted:l.invertedTooltip},a.addClassStyleAttrs(e.$attrs),{delay:l.tooltipDelay,show:l.showTooltip,offset:[0,24]}),{anchor:t.withCtx(()=>[t.createElementVNode("span",{class:t.normalizeClass({"d-recipe-callbar-button--disabled":l.disabled})},[t.createVNode(o,t.mergeProps({importance:a.buttonImportance,kind:"muted","icon-position":"top","aria-disabled":l.disabled,"aria-label":l.ariaLabel,"label-class":a.callbarButtonTextClass,width:a.buttonWidth,class:a.callbarButtonClass},a.removeClassStyleAttrs(e.$attrs),t.toHandlers(a.callbarButtonListeners)),{icon:t.withCtx(()=>[t.renderSlot(e.$slots,"icon")]),default:t.withCtx(()=>[t.renderSlot(e.$slots,"default")]),_:3},16,["importance","aria-disabled","aria-label","label-class","width","class"])],2)]),default:t.withCtx(()=>[t.renderSlot(e.$slots,"tooltip",{},()=>[t.createTextVNode(t.toDisplayString(l.tooltipText),1)])]),_:3},16,["id","inverted","delay","show"])}const p=s._(c,[["render",b]]);exports.default=p;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("./callbar-button-constants.cjs"),r=require("../../common/utils/index.cjs"),t=require("vue"),s=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),d=require("../tooltip/tooltip.cjs"),u=require("../button/button.cjs"),c={compatConfig:{MODE:3},name:"DtRecipeCallbarButton",components:{DtButton:u.default,DtTooltip:d.default},inheritAttrs:!1,props:{id:{type:String,default(){return r.default.getUniqueString()}},active:{type:Boolean,default:!1},danger:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},circle:{type:Boolean,default:!1},ariaLabel:{type:String,default:null,validator:e=>e||(void 0).$slots.default},buttonClass:{type:[String,Array,Object],default:""},textClass:{type:[String,Array,Object],default:""},buttonWidthSize:{type:String,default:"xl",validator:e=>n.CALLBAR_BUTTON_VALID_WIDTH_SIZE.includes(e)},importance:{type:String,default:""},invertedTooltip:{type:Boolean,default:!1},showTooltip:{type:Boolean,default:null},tooltipText:{type:String,default:void 0},tooltipDelay:{type:Boolean,default:void 0}},emits:["click"],computed:{callbarButtonClass(){return[this.buttonClass,"d-recipe-callbar-button",{"d-recipe-callbar-button--circle":this.circle,"d-recipe-callbar-button--active":this.active,"d-recipe-callbar-button--danger":this.danger,"d-btn--disabled":this.disabled}]},callbarButtonTextClass(){return["d-recipe-callbar-button__text",this.textClass]},buttonWidth(){switch(this.buttonWidthSize){case"sm":return"4.5rem";case"md":return"6rem";default:return"8.4rem"}},buttonImportance(){return this.importance?this.importance:this.circle?"outlined":"clear"},callbarButtonListeners(){return{...r.extractVueListeners(this.$attrs),click:e=>this.$emit("click",e)}}},methods:{removeClassStyleAttrs:r.removeClassStyleAttrs,addClassStyleAttrs:r.addClassStyleAttrs}};function b(e,f,l,m,h,a){const o=t.resolveComponent("dt-button"),i=t.resolveComponent("dt-tooltip");return t.openBlock(),t.createBlock(i,t.mergeProps({id:l.id,inverted:l.invertedTooltip},a.addClassStyleAttrs(e.$attrs),{delay:l.tooltipDelay,show:l.showTooltip,offset:[0,24]}),{anchor:t.withCtx(()=>[t.createElementVNode("span",{class:t.normalizeClass({"d-recipe-callbar-button--disabled":l.disabled})},[t.createVNode(o,t.mergeProps({importance:a.buttonImportance,kind:"muted","aria-disabled":l.disabled,"aria-label":l.ariaLabel,"label-class":a.callbarButtonTextClass,width:a.buttonWidth,class:a.callbarButtonClass},a.removeClassStyleAttrs(e.$attrs),t.toHandlers(a.callbarButtonListeners)),{blockStartIcon:t.withCtx(()=>[t.renderSlot(e.$slots,"icon")]),default:t.withCtx(()=>[t.renderSlot(e.$slots,"default")]),_:3},16,["importance","aria-disabled","aria-label","label-class","width","class"])],2)]),default:t.withCtx(()=>[t.renderSlot(e.$slots,"tooltip",{},()=>[t.createTextVNode(t.toDisplayString(l.tooltipText),1)])]),_:3},16,["id","inverted","delay","show"])}const p=s._(c,[["render",b]]);exports.default=p;
2
2
  //# sourceMappingURL=callbar-button.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"callbar-button.cjs","sources":["../../../recipes/buttons/callbar_button/callbar_button.vue"],"sourcesContent":["<template>\n <dt-tooltip\n :id=\"id\"\n :inverted=\"invertedTooltip\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n :delay=\"tooltipDelay\"\n :show=\"showTooltip\"\n :offset=\"[0, 24]\"\n >\n <template #anchor>\n <span\n :class=\"{ 'd-recipe-callbar-button--disabled': disabled }\"\n >\n <dt-button\n :importance=\"buttonImportance\"\n kind=\"muted\"\n icon-position=\"top\"\n :aria-disabled=\"disabled\"\n :aria-label=\"ariaLabel\"\n :label-class=\"callbarButtonTextClass\"\n :width=\"buttonWidth\"\n :class=\"callbarButtonClass\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"callbarButtonListeners\"\n >\n <slot />\n <template #icon>\n <slot name=\"icon\" />\n </template>\n </dt-button>\n </span>\n </template>\n <slot name=\"tooltip\">\n {{ tooltipText }}\n </slot>\n </dt-tooltip>\n</template>\n\n<script>\nimport { CALLBAR_BUTTON_VALID_WIDTH_SIZE } from './callbar_button_constants';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport utils, { extractVueListeners, removeClassStyleAttrs, addClassStyleAttrs } from '@/common/utils';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeCallbarButton',\n\n components: { DtButton, DtTooltip },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id for the item.\n */\n id: {\n type: String,\n default () {\n return utils.getUniqueString();\n },\n },\n\n /**\n * Determines whether the button should have active styling\n * default is false.\n * @values true, false\n * @see https://dialtone.dialpad.com/components/button/\n */\n active: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should have danger styling\n * default is false.\n * @values true, false\n * @see https://dialtone.dialpad.com/components/button/\n */\n danger: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should be disabled\n * default is false.\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the button is a circle or not.\n * @values true, false\n * @see https://dialtone.dialpad.com/components/button/\n */\n circle: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label for the button. If empty, it takes its value from the default slot.\n */\n ariaLabel: {\n type: String,\n default: null,\n validator: (label) => {\n return label || this.$slots.default;\n },\n },\n\n /**\n * Additional class name for the button wrapper element.\n */\n buttonClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the button text.\n */\n textClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /*\n * Width size. Valid values are: 'xl', 'lg', 'md' and 'sm'.\n */\n buttonWidthSize: {\n type: String,\n default: 'xl',\n validator: size => CALLBAR_BUTTON_VALID_WIDTH_SIZE.includes(size),\n },\n\n /**\n * The fill and outline of the button associated with its visual importance.\n * @values clear, outlined, primary\n */\n importance: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the tooltip has an inverted background color.\n * @values true, false\n */\n invertedTooltip: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Use this if you would like to manually override the logic for when the tooltip shows.\n * Otherwise it will just show on hover/focus.\n * @values null, true, false\n */\n showTooltip: {\n type: Boolean,\n default: null,\n },\n\n /**\n * The message that displays in the tooltip. This will be overridden by the tooltip slot.\n */\n tooltipText: {\n type: String,\n default: undefined,\n },\n\n /**\n * Whether there is a delay before the tooltip shows on hover/focus.\n * @values true, false\n */\n tooltipDelay: {\n type: Boolean,\n default: undefined,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n callbarButtonClass () {\n return [\n this.buttonClass,\n 'd-recipe-callbar-button',\n {\n 'd-recipe-callbar-button--circle': this.circle,\n 'd-recipe-callbar-button--active': this.active,\n 'd-recipe-callbar-button--danger': this.danger,\n 'd-btn--disabled': this.disabled,\n }];\n },\n\n callbarButtonTextClass () {\n return [\n 'd-recipe-callbar-button__text',\n this.textClass,\n ];\n },\n\n buttonWidth () {\n switch (this.buttonWidthSize) {\n case 'sm':\n return '4.5rem';\n case 'md':\n return '6rem';\n default:\n return '8.4rem';\n }\n },\n\n buttonImportance () {\n if (this.importance) {\n return this.importance;\n }\n return this.circle ? 'outlined' : 'clear';\n },\n\n callbarButtonListeners () {\n return {\n ...extractVueListeners(this.$attrs),\n click: (event) => this.$emit('click', event),\n };\n },\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtTooltip","utils","label","this","size","CALLBAR_BUTTON_VALID_WIDTH_SIZE","extractVueListeners","event","removeClassStyleAttrs","addClassStyleAttrs","_openBlock","_createBlock","_component_dt_tooltip","_mergeProps","$props","$options","_ctx","_createElementVNode","_createVNode","_component_dt_button","_toHandlers","_renderSlot"],"mappings":"yVA4CKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,wBAEN,WAAY,CAAA,SAAEC,EAAAA,QAAQ,UAAEC,WAExB,aAAc,GAEd,MAAO,CAIL,GAAI,CACF,KAAM,OACN,SAAW,CACT,OAAOC,EAAAA,QAAM,gBAAe,CAC9B,GASF,OAAQ,CACN,KAAM,QACN,QAAS,IASX,OAAQ,CACN,KAAM,QACN,QAAS,IAQX,SAAU,CACR,KAAM,QACN,QAAS,IAQX,OAAQ,CACN,KAAM,QACN,QAAS,IAMX,UAAW,CACT,KAAM,OACN,QAAS,KACT,UAAYC,GACHA,GAASC,SAAK,OAAO,SAOhC,YAAa,CACX,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,IAMX,UAAW,CACT,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,IAMX,gBAAiB,CACf,KAAM,OACN,QAAS,KACT,UAAWC,GAAQC,kCAAgC,SAASD,CAAI,GAOlE,WAAY,CACV,KAAM,OACN,QAAS,IAOX,gBAAiB,CACf,KAAM,QACN,QAAS,IAQX,YAAa,CACX,KAAM,QACN,QAAS,MAMX,YAAa,CACX,KAAM,OACN,QAAS,QAOX,aAAc,CACZ,KAAM,QACN,QAAS,SAIb,MAAO,CAOL,SAGF,SAAU,CACR,oBAAsB,CACpB,MAAO,CACL,KAAK,YACL,0BACA,CACE,kCAAmC,KAAK,OACxC,kCAAmC,KAAK,OACxC,kCAAmC,KAAK,OACxC,kBAAmB,KAAK,QAC1B,CAAC,CACL,EAEA,wBAA0B,CACxB,MAAO,CACL,gCACA,KAAK,UAET,EAEA,aAAe,CACb,OAAQ,KAAK,gBAAe,CAC1B,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,OACT,QACE,MAAO,QACX,CACF,EAEA,kBAAoB,CAClB,OAAI,KAAK,WACA,KAAK,WAEP,KAAK,OAAS,WAAa,OACpC,EAEA,wBAA0B,CACxB,MAAO,CACL,GAAGE,EAAAA,oBAAoB,KAAK,MAAM,EAClC,MAAQC,GAAU,KAAK,MAAM,QAASA,CAAK,EAE/C,GAGF,QAAS,CACP,sBAAAC,EAAAA,sBACA,mBAAAC,EAAAA,mBAEJ,qGAtPE,OAAAC,YAAA,EAAAC,cAkCaC,EAlCbC,EAAAA,WAkCa,CAjCV,GAAIC,EAAA,GACJ,SAAUA,EAAA,eACH,EAAAC,EAAA,mBAAmBC,EAAA,MAAM,EAAA,CAChC,MAAOF,EAAA,aACP,KAAMA,EAAA,YACN,OAAQ,CAAA,EAAA,EAAA,KAEE,iBACT,IAoBO,CApBPG,EAAAA,mBAoBO,OAAA,CAnBJ,4DAA8CH,EAAA,QAAQ,CAAA,IAEvDI,EAAAA,YAgBYC,EAhBZN,aAgBY,CAfT,WAAYE,EAAA,iBACb,KAAK,QACL,gBAAc,MACb,gBAAeD,EAAA,SACf,aAAYA,EAAA,UACZ,cAAaC,EAAA,uBACb,MAAOA,EAAA,YACP,MAAOA,EAAA,kBACA,EAAAA,EAAA,sBAAsBC,EAAA,MAAM,EACpCI,aAA6BL,EAAvB,sBAAsB,CAAA,EAAA,CAGjB,eACT,IAAoB,CAApBM,aAAoBL,EAAA,OAAA,MAAA,sBAFtB,IAAQ,CAARK,aAAQL,EAAA,OAAA,SAAA,+GAOd,IAEO,CAFPK,EAAAA,WAEOL,sBAFP,IAEO,qCADFF,EAAA,WAAW,EAAA,CAAA"}
1
+ {"version":3,"file":"callbar-button.cjs","sources":["../../../recipes/buttons/callbar_button/callbar_button.vue"],"sourcesContent":["<template>\n <dt-tooltip\n :id=\"id\"\n :inverted=\"invertedTooltip\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n :delay=\"tooltipDelay\"\n :show=\"showTooltip\"\n :offset=\"[0, 24]\"\n >\n <template #anchor>\n <span\n :class=\"{ 'd-recipe-callbar-button--disabled': disabled }\"\n >\n <dt-button\n :importance=\"buttonImportance\"\n kind=\"muted\"\n :aria-disabled=\"disabled\"\n :aria-label=\"ariaLabel\"\n :label-class=\"callbarButtonTextClass\"\n :width=\"buttonWidth\"\n :class=\"callbarButtonClass\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"callbarButtonListeners\"\n >\n <slot />\n <template #blockStartIcon>\n <slot name=\"icon\" />\n </template>\n </dt-button>\n </span>\n </template>\n <slot name=\"tooltip\">\n {{ tooltipText }}\n </slot>\n </dt-tooltip>\n</template>\n\n<script>\nimport { CALLBAR_BUTTON_VALID_WIDTH_SIZE } from './callbar_button_constants';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport utils, { extractVueListeners, removeClassStyleAttrs, addClassStyleAttrs } from '@/common/utils';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeCallbarButton',\n\n components: { DtButton, DtTooltip },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id for the item.\n */\n id: {\n type: String,\n default () {\n return utils.getUniqueString();\n },\n },\n\n /**\n * Determines whether the button should have active styling\n * default is false.\n * @values true, false\n * @see https://dialtone.dialpad.com/components/button/\n */\n active: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should have danger styling\n * default is false.\n * @values true, false\n * @see https://dialtone.dialpad.com/components/button/\n */\n danger: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should be disabled\n * default is false.\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the button is a circle or not.\n * @values true, false\n * @see https://dialtone.dialpad.com/components/button/\n */\n circle: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label for the button. If empty, it takes its value from the default slot.\n */\n ariaLabel: {\n type: String,\n default: null,\n validator: (label) => {\n return label || this.$slots.default;\n },\n },\n\n /**\n * Additional class name for the button wrapper element.\n */\n buttonClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the button text.\n */\n textClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /*\n * Width size. Valid values are: 'xl', 'lg', 'md' and 'sm'.\n */\n buttonWidthSize: {\n type: String,\n default: 'xl',\n validator: size => CALLBAR_BUTTON_VALID_WIDTH_SIZE.includes(size),\n },\n\n /**\n * The fill and outline of the button associated with its visual importance.\n * @values clear, outlined, primary\n */\n importance: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the tooltip has an inverted background color.\n * @values true, false\n */\n invertedTooltip: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Use this if you would like to manually override the logic for when the tooltip shows.\n * Otherwise it will just show on hover/focus.\n * @values null, true, false\n */\n showTooltip: {\n type: Boolean,\n default: null,\n },\n\n /**\n * The message that displays in the tooltip. This will be overridden by the tooltip slot.\n */\n tooltipText: {\n type: String,\n default: undefined,\n },\n\n /**\n * Whether there is a delay before the tooltip shows on hover/focus.\n * @values true, false\n */\n tooltipDelay: {\n type: Boolean,\n default: undefined,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n callbarButtonClass () {\n return [\n this.buttonClass,\n 'd-recipe-callbar-button',\n {\n 'd-recipe-callbar-button--circle': this.circle,\n 'd-recipe-callbar-button--active': this.active,\n 'd-recipe-callbar-button--danger': this.danger,\n 'd-btn--disabled': this.disabled,\n }];\n },\n\n callbarButtonTextClass () {\n return [\n 'd-recipe-callbar-button__text',\n this.textClass,\n ];\n },\n\n buttonWidth () {\n switch (this.buttonWidthSize) {\n case 'sm':\n return '4.5rem';\n case 'md':\n return '6rem';\n default:\n return '8.4rem';\n }\n },\n\n buttonImportance () {\n if (this.importance) {\n return this.importance;\n }\n return this.circle ? 'outlined' : 'clear';\n },\n\n callbarButtonListeners () {\n return {\n ...extractVueListeners(this.$attrs),\n click: (event) => this.$emit('click', event),\n };\n },\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtTooltip","utils","label","this","size","CALLBAR_BUTTON_VALID_WIDTH_SIZE","extractVueListeners","event","removeClassStyleAttrs","addClassStyleAttrs","_openBlock","_createBlock","_component_dt_tooltip","_mergeProps","$props","$options","_ctx","_createElementVNode","_createVNode","_component_dt_button","_toHandlers","_renderSlot"],"mappings":"yVA2CKA,EAAU,CACb,aAAc,CAAE,KAAM,GACtB,KAAM,wBAEN,WAAY,CAAA,SAAEC,EAAAA,QAAQ,UAAEC,WAExB,aAAc,GAEd,MAAO,CAIL,GAAI,CACF,KAAM,OACN,SAAW,CACT,OAAOC,EAAAA,QAAM,gBAAe,CAC9B,GASF,OAAQ,CACN,KAAM,QACN,QAAS,IASX,OAAQ,CACN,KAAM,QACN,QAAS,IAQX,SAAU,CACR,KAAM,QACN,QAAS,IAQX,OAAQ,CACN,KAAM,QACN,QAAS,IAMX,UAAW,CACT,KAAM,OACN,QAAS,KACT,UAAYC,GACHA,GAASC,SAAK,OAAO,SAOhC,YAAa,CACX,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,IAMX,UAAW,CACT,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,IAMX,gBAAiB,CACf,KAAM,OACN,QAAS,KACT,UAAWC,GAAQC,kCAAgC,SAASD,CAAI,GAOlE,WAAY,CACV,KAAM,OACN,QAAS,IAOX,gBAAiB,CACf,KAAM,QACN,QAAS,IAQX,YAAa,CACX,KAAM,QACN,QAAS,MAMX,YAAa,CACX,KAAM,OACN,QAAS,QAOX,aAAc,CACZ,KAAM,QACN,QAAS,SAIb,MAAO,CAOL,SAGF,SAAU,CACR,oBAAsB,CACpB,MAAO,CACL,KAAK,YACL,0BACA,CACE,kCAAmC,KAAK,OACxC,kCAAmC,KAAK,OACxC,kCAAmC,KAAK,OACxC,kBAAmB,KAAK,QAC1B,CAAC,CACL,EAEA,wBAA0B,CACxB,MAAO,CACL,gCACA,KAAK,UAET,EAEA,aAAe,CACb,OAAQ,KAAK,gBAAe,CAC1B,IAAK,KACH,MAAO,SACT,IAAK,KACH,MAAO,OACT,QACE,MAAO,QACX,CACF,EAEA,kBAAoB,CAClB,OAAI,KAAK,WACA,KAAK,WAEP,KAAK,OAAS,WAAa,OACpC,EAEA,wBAA0B,CACxB,MAAO,CACL,GAAGE,EAAAA,oBAAoB,KAAK,MAAM,EAClC,MAAQC,GAAU,KAAK,MAAM,QAASA,CAAK,EAE/C,GAGF,QAAS,CACP,sBAAAC,EAAAA,sBACA,mBAAAC,EAAAA,mBAEJ,qGArPE,OAAAC,YAAA,EAAAC,cAiCaC,EAjCbC,EAAAA,WAiCa,CAhCV,GAAIC,EAAA,GACJ,SAAUA,EAAA,eACH,EAAAC,EAAA,mBAAmBC,EAAA,MAAM,EAAA,CAChC,MAAOF,EAAA,aACP,KAAMA,EAAA,YACN,OAAQ,CAAA,EAAA,EAAA,KAEE,iBACT,IAmBO,CAnBPG,EAAAA,mBAmBO,OAAA,CAlBJ,4DAA8CH,EAAA,QAAQ,CAAA,IAEvDI,EAAAA,YAeYC,EAfZN,aAeY,CAdT,WAAYE,EAAA,iBACb,KAAK,QACJ,gBAAeD,EAAA,SACf,aAAYA,EAAA,UACZ,cAAaC,EAAA,uBACb,MAAOA,EAAA,YACP,MAAOA,EAAA,kBACA,EAAAA,EAAA,sBAAsBC,EAAA,MAAM,EACpCI,aAA6BL,EAAvB,sBAAsB,CAAA,EAAA,CAGjB,yBACT,IAAoB,CAApBM,aAAoBL,EAAA,OAAA,MAAA,sBAFtB,IAAQ,CAARK,aAAQL,EAAA,OAAA,SAAA,+GAOd,IAEO,CAFPK,EAAAA,WAEOL,sBAFP,IAEO,qCADFF,EAAA,WAAW,EAAA,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { CALLBAR_BUTTON_VALID_WIDTH_SIZE as d } from "./callbar-button-constants.js";
2
- import c, { addClassStyleAttrs as u, removeClassStyleAttrs as b, extractVueListeners as p } from "../../common/utils/index.js";
3
- import { resolveComponent as i, openBlock as f, createBlock as m, mergeProps as o, withCtx as l, renderSlot as r, createTextVNode as h, toDisplayString as y, createElementVNode as B, normalizeClass as C, createVNode as _, toHandlers as S } from "vue";
2
+ import c, { addClassStyleAttrs as u, removeClassStyleAttrs as b, extractVueListeners as f } from "../../common/utils/index.js";
3
+ import { resolveComponent as o, openBlock as p, createBlock as m, mergeProps as i, withCtx as l, renderSlot as r, createTextVNode as h, toDisplayString as y, createElementVNode as B, normalizeClass as C, createVNode as S, toHandlers as _ } from "vue";
4
4
  import { _ as g } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
5
5
  import T from "../tooltip/tooltip.js";
6
6
  import v from "../button/button.js";
@@ -171,7 +171,7 @@ const A = {
171
171
  },
172
172
  callbarButtonListeners() {
173
173
  return {
174
- ...p(this.$attrs),
174
+ ...f(this.$attrs),
175
175
  click: (t) => this.$emit("click", t)
176
176
  };
177
177
  }
@@ -182,8 +182,8 @@ const A = {
182
182
  }
183
183
  };
184
184
  function D(t, x, e, w, L, a) {
185
- const n = i("dt-button"), s = i("dt-tooltip");
186
- return f(), m(s, o({
185
+ const n = o("dt-button"), s = o("dt-tooltip");
186
+ return p(), m(s, i({
187
187
  id: e.id,
188
188
  inverted: e.invertedTooltip
189
189
  }, a.addClassStyleAttrs(t.$attrs), {
@@ -195,17 +195,16 @@ function D(t, x, e, w, L, a) {
195
195
  B("span", {
196
196
  class: C({ "d-recipe-callbar-button--disabled": e.disabled })
197
197
  }, [
198
- _(n, o({
198
+ S(n, i({
199
199
  importance: a.buttonImportance,
200
200
  kind: "muted",
201
- "icon-position": "top",
202
201
  "aria-disabled": e.disabled,
203
202
  "aria-label": e.ariaLabel,
204
203
  "label-class": a.callbarButtonTextClass,
205
204
  width: a.buttonWidth,
206
205
  class: a.callbarButtonClass
207
- }, a.removeClassStyleAttrs(t.$attrs), S(a.callbarButtonListeners)), {
208
- icon: l(() => [
206
+ }, a.removeClassStyleAttrs(t.$attrs), _(a.callbarButtonListeners)), {
207
+ blockStartIcon: l(() => [
209
208
  r(t.$slots, "icon")
210
209
  ]),
211
210
  default: l(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"callbar-button.js","sources":["../../../recipes/buttons/callbar_button/callbar_button.vue"],"sourcesContent":["<template>\n <dt-tooltip\n :id=\"id\"\n :inverted=\"invertedTooltip\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n :delay=\"tooltipDelay\"\n :show=\"showTooltip\"\n :offset=\"[0, 24]\"\n >\n <template #anchor>\n <span\n :class=\"{ 'd-recipe-callbar-button--disabled': disabled }\"\n >\n <dt-button\n :importance=\"buttonImportance\"\n kind=\"muted\"\n icon-position=\"top\"\n :aria-disabled=\"disabled\"\n :aria-label=\"ariaLabel\"\n :label-class=\"callbarButtonTextClass\"\n :width=\"buttonWidth\"\n :class=\"callbarButtonClass\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"callbarButtonListeners\"\n >\n <slot />\n <template #icon>\n <slot name=\"icon\" />\n </template>\n </dt-button>\n </span>\n </template>\n <slot name=\"tooltip\">\n {{ tooltipText }}\n </slot>\n </dt-tooltip>\n</template>\n\n<script>\nimport { CALLBAR_BUTTON_VALID_WIDTH_SIZE } from './callbar_button_constants';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport utils, { extractVueListeners, removeClassStyleAttrs, addClassStyleAttrs } from '@/common/utils';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeCallbarButton',\n\n components: { DtButton, DtTooltip },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id for the item.\n */\n id: {\n type: String,\n default () {\n return utils.getUniqueString();\n },\n },\n\n /**\n * Determines whether the button should have active styling\n * default is false.\n * @values true, false\n * @see https://dialtone.dialpad.com/components/button/\n */\n active: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should have danger styling\n * default is false.\n * @values true, false\n * @see https://dialtone.dialpad.com/components/button/\n */\n danger: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should be disabled\n * default is false.\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the button is a circle or not.\n * @values true, false\n * @see https://dialtone.dialpad.com/components/button/\n */\n circle: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label for the button. If empty, it takes its value from the default slot.\n */\n ariaLabel: {\n type: String,\n default: null,\n validator: (label) => {\n return label || this.$slots.default;\n },\n },\n\n /**\n * Additional class name for the button wrapper element.\n */\n buttonClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the button text.\n */\n textClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /*\n * Width size. Valid values are: 'xl', 'lg', 'md' and 'sm'.\n */\n buttonWidthSize: {\n type: String,\n default: 'xl',\n validator: size => CALLBAR_BUTTON_VALID_WIDTH_SIZE.includes(size),\n },\n\n /**\n * The fill and outline of the button associated with its visual importance.\n * @values clear, outlined, primary\n */\n importance: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the tooltip has an inverted background color.\n * @values true, false\n */\n invertedTooltip: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Use this if you would like to manually override the logic for when the tooltip shows.\n * Otherwise it will just show on hover/focus.\n * @values null, true, false\n */\n showTooltip: {\n type: Boolean,\n default: null,\n },\n\n /**\n * The message that displays in the tooltip. This will be overridden by the tooltip slot.\n */\n tooltipText: {\n type: String,\n default: undefined,\n },\n\n /**\n * Whether there is a delay before the tooltip shows on hover/focus.\n * @values true, false\n */\n tooltipDelay: {\n type: Boolean,\n default: undefined,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n callbarButtonClass () {\n return [\n this.buttonClass,\n 'd-recipe-callbar-button',\n {\n 'd-recipe-callbar-button--circle': this.circle,\n 'd-recipe-callbar-button--active': this.active,\n 'd-recipe-callbar-button--danger': this.danger,\n 'd-btn--disabled': this.disabled,\n }];\n },\n\n callbarButtonTextClass () {\n return [\n 'd-recipe-callbar-button__text',\n this.textClass,\n ];\n },\n\n buttonWidth () {\n switch (this.buttonWidthSize) {\n case 'sm':\n return '4.5rem';\n case 'md':\n return '6rem';\n default:\n return '8.4rem';\n }\n },\n\n buttonImportance () {\n if (this.importance) {\n return this.importance;\n }\n return this.circle ? 'outlined' : 'clear';\n },\n\n callbarButtonListeners () {\n return {\n ...extractVueListeners(this.$attrs),\n click: (event) => this.$emit('click', event),\n };\n },\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtTooltip","utils","label","this","size","CALLBAR_BUTTON_VALID_WIDTH_SIZE","extractVueListeners","event","removeClassStyleAttrs","addClassStyleAttrs","_openBlock","_createBlock","_component_dt_tooltip","_mergeProps","$props","$options","_ctx","_createElementVNode","_createVNode","_component_dt_button","_toHandlers","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"callbar-button.js","sources":["../../../recipes/buttons/callbar_button/callbar_button.vue"],"sourcesContent":["<template>\n <dt-tooltip\n :id=\"id\"\n :inverted=\"invertedTooltip\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n :delay=\"tooltipDelay\"\n :show=\"showTooltip\"\n :offset=\"[0, 24]\"\n >\n <template #anchor>\n <span\n :class=\"{ 'd-recipe-callbar-button--disabled': disabled }\"\n >\n <dt-button\n :importance=\"buttonImportance\"\n kind=\"muted\"\n :aria-disabled=\"disabled\"\n :aria-label=\"ariaLabel\"\n :label-class=\"callbarButtonTextClass\"\n :width=\"buttonWidth\"\n :class=\"callbarButtonClass\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n v-on=\"callbarButtonListeners\"\n >\n <slot />\n <template #blockStartIcon>\n <slot name=\"icon\" />\n </template>\n </dt-button>\n </span>\n </template>\n <slot name=\"tooltip\">\n {{ tooltipText }}\n </slot>\n </dt-tooltip>\n</template>\n\n<script>\nimport { CALLBAR_BUTTON_VALID_WIDTH_SIZE } from './callbar_button_constants';\nimport { DtButton } from '@/components/button';\nimport { DtTooltip } from '@/components/tooltip';\nimport utils, { extractVueListeners, removeClassStyleAttrs, addClassStyleAttrs } from '@/common/utils';\n\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtRecipeCallbarButton',\n\n components: { DtButton, DtTooltip },\n\n inheritAttrs: false,\n\n props: {\n /**\n * Id for the item.\n */\n id: {\n type: String,\n default () {\n return utils.getUniqueString();\n },\n },\n\n /**\n * Determines whether the button should have active styling\n * default is false.\n * @values true, false\n * @see https://dialtone.dialpad.com/components/button/\n */\n active: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should have danger styling\n * default is false.\n * @values true, false\n * @see https://dialtone.dialpad.com/components/button/\n */\n danger: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should be disabled\n * default is false.\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Whether the button is a circle or not.\n * @values true, false\n * @see https://dialtone.dialpad.com/components/button/\n */\n circle: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Aria label for the button. If empty, it takes its value from the default slot.\n */\n ariaLabel: {\n type: String,\n default: null,\n validator: (label) => {\n return label || this.$slots.default;\n },\n },\n\n /**\n * Additional class name for the button wrapper element.\n */\n buttonClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the button text.\n */\n textClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /*\n * Width size. Valid values are: 'xl', 'lg', 'md' and 'sm'.\n */\n buttonWidthSize: {\n type: String,\n default: 'xl',\n validator: size => CALLBAR_BUTTON_VALID_WIDTH_SIZE.includes(size),\n },\n\n /**\n * The fill and outline of the button associated with its visual importance.\n * @values clear, outlined, primary\n */\n importance: {\n type: String,\n default: '',\n },\n\n /**\n * Whether the tooltip has an inverted background color.\n * @values true, false\n */\n invertedTooltip: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Use this if you would like to manually override the logic for when the tooltip shows.\n * Otherwise it will just show on hover/focus.\n * @values null, true, false\n */\n showTooltip: {\n type: Boolean,\n default: null,\n },\n\n /**\n * The message that displays in the tooltip. This will be overridden by the tooltip slot.\n */\n tooltipText: {\n type: String,\n default: undefined,\n },\n\n /**\n * Whether there is a delay before the tooltip shows on hover/focus.\n * @values true, false\n */\n tooltipDelay: {\n type: Boolean,\n default: undefined,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n computed: {\n callbarButtonClass () {\n return [\n this.buttonClass,\n 'd-recipe-callbar-button',\n {\n 'd-recipe-callbar-button--circle': this.circle,\n 'd-recipe-callbar-button--active': this.active,\n 'd-recipe-callbar-button--danger': this.danger,\n 'd-btn--disabled': this.disabled,\n }];\n },\n\n callbarButtonTextClass () {\n return [\n 'd-recipe-callbar-button__text',\n this.textClass,\n ];\n },\n\n buttonWidth () {\n switch (this.buttonWidthSize) {\n case 'sm':\n return '4.5rem';\n case 'md':\n return '6rem';\n default:\n return '8.4rem';\n }\n },\n\n buttonImportance () {\n if (this.importance) {\n return this.importance;\n }\n return this.circle ? 'outlined' : 'clear';\n },\n\n callbarButtonListeners () {\n return {\n ...extractVueListeners(this.$attrs),\n click: (event) => this.$emit('click', event),\n };\n },\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtTooltip","utils","label","this","size","CALLBAR_BUTTON_VALID_WIDTH_SIZE","extractVueListeners","event","removeClassStyleAttrs","addClassStyleAttrs","_openBlock","_createBlock","_component_dt_tooltip","_mergeProps","$props","$options","_ctx","_createElementVNode","_createVNode","_component_dt_button","_toHandlers","_renderSlot"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("./callbox-constants.cjs"),d=require("../avatar/avatar.cjs"),s=require("../badge/badge.cjs"),_=require("@dialpad/dialtone-icons/vue3"),e=require("vue"),b=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),u={compatConfig:{MODE:3},name:"DtRecipeCallbox",components:{DtBadge:s.default,DtAvatar:d.default,DtIconPause:_.DtIconPause},inheritAttrs:!1,props:{badgeText:{type:String,default:""},badgeColor:{type:String,default:null,validator:t=>t===null||Object.keys(o.CALLBOX_BADGE_COLORS).includes(t)},avatarSrc:{type:String,default:""},avatarFullName:{type:String,default:""},avatarSeed:{type:String,default:""},title:{type:String,default:""},borderColor:{type:String,default:"default",validator:t=>Object.keys(o.CALLBOX_BORDER_COLORS).includes(t)},clickable:{type:Boolean,default:!1},isOnHold:{type:Boolean,default:!1}},emits:["click"],computed:{shouldShowAvatar(){return this.avatarFullName||this.avatarSrc},badgeClass(){return o.CALLBOX_BADGE_COLORS[this.badgeColor]},borderClass(){return o.CALLBOX_BORDER_COLORS[this.borderColor]}},methods:{handleClick(t){this.clickable&&this.$emit("click",t)}}},m={key:0,"data-qa":"dt-recipe-callbox__video-wrapper",class:"d-recipe-callbox__video"},p={class:"d-recipe-callbox__main-content-top"},v={class:"d-recipe-callbox__content"},k={key:0,"data-qa":"dt-recipe-callbox__badge-wrapper",class:"d-recipe-callbox__content-badge"},C={key:1,"data-qa":"dt-recipe-callbox__subtitle-wrapper",class:"d-recipe-callbox__content-subtitle"},g={key:1,"data-qa":"dt-recipe-callbox__right-wrapper",class:"d-recipe-callbox__right"},h={key:0,"data-qa":"dt-recipe-callbox__bottom-wrapper",class:"d-recipe-callbox__main-content-bottom"};function S(t,B,a,y,x,l){const c=e.resolveComponent("dt-icon-pause"),r=e.resolveComponent("dt-avatar"),n=e.resolveComponent("dt-badge"),i=e.resolveDirective("dt-tooltip");return e.openBlock(),e.createElementBlock("div",{"data-qa":"dt-recipe-callbox",class:e.normalizeClass([t.$attrs.class,"d-recipe-callbox"]),style:e.normalizeStyle(t.$attrs.style)},[t.$slots.video?(e.openBlock(),e.createElementBlock("div",m,[e.renderSlot(t.$slots,"video")])):e.createCommentVNode("",!0),e.createElementVNode("div",{"data-qa":"dt-recipe-callbox__main-content",class:e.normalizeClass(["d-recipe-callbox__main-content",l.borderClass,{"d-recipe-callbox--clickable":a.clickable}])},[e.createElementVNode("div",p,[l.shouldShowAvatar?(e.openBlock(),e.createBlock(r,{key:0,"avatar-class":"d-recipe-callbox__avatar","image-src":a.avatarSrc,"image-alt":"","full-name":a.avatarFullName,seed:a.avatarSeed,clickable:a.clickable,size:"sm",onClick:l.handleClick},e.createSlots({_:2},[a.isOnHold?{name:"overlayIcon",fn:e.withCtx(()=>[e.createVNode(c)]),key:"0"}:void 0]),1032,["image-src","full-name","seed","clickable","onClick"])):e.createCommentVNode("",!0),e.createElementVNode("div",v,[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.clickable?"button":"span"),{"data-qa":"dt-recipe-callbox__title",class:"d-recipe-callbox__content-title",tabindex:"0",onClick:l.handleClick},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.title),1)]),_:1},8,["onClick"])),[[i,a.title]]),t.$slots.badge||a.badgeText?(e.openBlock(),e.createElementBlock("div",k,[e.renderSlot(t.$slots,"badge",{},()=>[e.createVNode(n,{class:e.normalizeClass(l.badgeClass),text:a.badgeText},null,8,["class","text"])])])):e.createCommentVNode("",!0),t.$slots.subtitle?(e.openBlock(),e.createElementBlock("div",C,[e.renderSlot(t.$slots,"subtitle")])):e.createCommentVNode("",!0)]),t.$slots.right?(e.openBlock(),e.createElementBlock("div",g,[e.renderSlot(t.$slots,"right")])):e.createCommentVNode("",!0)]),t.$slots.bottom?(e.openBlock(),e.createElementBlock("div",h,[e.renderSlot(t.$slots,"bottom")])):e.createCommentVNode("",!0)],2)],6)}const f=b._(u,[["render",S]]);exports.default=f;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("./callbox-constants.cjs"),d=require("../avatar/avatar.cjs"),i=require("../badge/badge.cjs"),b=require("@dialpad/dialtone-icons/vue3"),e=require("vue"),_=require("../../_plugin-vue_export-helper-BRilXfQE.cjs"),u={compatConfig:{MODE:3},name:"DtRecipeCallbox",components:{DtBadge:i.default,DtAvatar:d.default,DtIconPause:b.DtIconPause},inheritAttrs:!1,props:{badgeText:{type:String,default:""},badgeColor:{type:String,default:null,validator:t=>t===null||Object.keys(o.CALLBOX_BADGE_COLORS).includes(t)},avatarSrc:{type:String,default:""},avatarFullName:{type:String,default:""},avatarSeed:{type:String,default:""},title:{type:String,default:""},borderColor:{type:String,default:"default",validator:t=>Object.keys(o.CALLBOX_BORDER_COLORS).includes(t)},clickable:{type:Boolean,default:!1},isOnHold:{type:Boolean,default:!1}},emits:["click"],computed:{shouldShowAvatar(){return this.avatarFullName||this.avatarSrc},badgeClass(){return o.CALLBOX_BADGE_COLORS[this.badgeColor]},borderClass(){return o.CALLBOX_BORDER_COLORS[this.borderColor]}},methods:{handleClick(t){this.clickable&&this.$emit("click",t)}}},m={key:0,"data-qa":"dt-recipe-callbox__video-wrapper",class:"d-recipe-callbox__video"},k={class:"d-recipe-callbox__main-content-top"},p={class:"d-recipe-callbox__content"},v={key:0,"data-qa":"dt-recipe-callbox__badge-wrapper",class:"d-recipe-callbox__content-badge"},C={key:1,"data-qa":"dt-recipe-callbox__subtitle-wrapper",class:"d-recipe-callbox__content-subtitle"},g={key:1,"data-qa":"dt-recipe-callbox__right-wrapper",class:"d-recipe-callbox__right"},h={key:0,"data-qa":"dt-recipe-callbox__bottom-wrapper",class:"d-recipe-callbox__main-content-bottom"};function S(t,f,a,B,O,l){const c=e.resolveComponent("dt-icon-pause"),r=e.resolveComponent("dt-avatar"),n=e.resolveComponent("dt-badge"),s=e.resolveDirective("dt-tooltip");return e.openBlock(),e.createElementBlock("div",{"data-qa":"dt-recipe-callbox",class:e.normalizeClass([t.$attrs.class,"d-recipe-callbox"]),style:e.normalizeStyle(t.$attrs.style)},[t.$slots.video?(e.openBlock(),e.createElementBlock("div",m,[e.renderSlot(t.$slots,"video")])):e.createCommentVNode("",!0),e.createElementVNode("div",{"data-qa":"dt-recipe-callbox__main-content",class:e.normalizeClass(["d-recipe-callbox__main-content",l.borderClass,{"d-recipe-callbox--clickable":a.clickable}])},[e.createElementVNode("div",k,[l.shouldShowAvatar?(e.openBlock(),e.createBlock(r,{key:0,"avatar-class":"d-recipe-callbox__avatar","image-src":a.avatarSrc,"image-alt":"","full-name":a.avatarFullName,seed:a.avatarSeed,clickable:a.clickable,size:"sm",onClick:l.handleClick},e.createSlots({_:2},[a.isOnHold?{name:"overlayIcon",fn:e.withCtx(()=>[e.createVNode(c)]),key:"0"}:void 0]),1032,["image-src","full-name","seed","clickable","onClick"])):e.createCommentVNode("",!0),e.createElementVNode("div",p,[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.clickable?"button":"span"),{"data-qa":"dt-recipe-callbox__title",class:"d-recipe-callbox__content-title",tabindex:"0",onClick:l.handleClick},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.title),1)]),_:1},8,["onClick"])),[[s,a.title]]),t.$slots.badge||a.badgeText?(e.openBlock(),e.createElementBlock("div",v,[e.renderSlot(t.$slots,"badge",{},()=>[e.createVNode(n,{class:e.normalizeClass(l.badgeClass),text:a.badgeText},null,8,["class","text"])])])):e.createCommentVNode("",!0),t.$slots.subtitle?(e.openBlock(),e.createElementBlock("div",C,[e.renderSlot(t.$slots,"subtitle")])):e.createCommentVNode("",!0)]),t.$slots.end||t.$slots.right?(e.openBlock(),e.createElementBlock("div",g,[t.$slots.end?e.renderSlot(t.$slots,"end",{key:0}):e.renderSlot(t.$slots,"right",{key:1})])):e.createCommentVNode("",!0)]),t.$slots.blockEnd||t.$slots.bottom?(e.openBlock(),e.createElementBlock("div",h,[t.$slots.blockEnd?e.renderSlot(t.$slots,"blockEnd",{key:0}):e.renderSlot(t.$slots,"bottom",{key:1})])):e.createCommentVNode("",!0)],2)],6)}const y=_._(u,[["render",S]]);exports.default=y;
2
2
  //# sourceMappingURL=callbox.cjs.map