@dialpad/dialtone 9.124.0 → 9.126.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/README.md +9 -2
  2. package/dist/css/dialtone-default-theme.css +4 -0
  3. package/dist/css/dialtone-default-theme.min.css +1 -1
  4. package/dist/css/dialtone.css +4 -0
  5. package/dist/css/dialtone.min.css +1 -1
  6. package/dist/tokens/doc.json +12021 -12021
  7. package/dist/vue2/common/mixins/index.cjs +1 -1
  8. package/dist/vue2/common/mixins/index.js +10 -10
  9. package/dist/vue2/common/mixins/localization.cjs +2 -0
  10. package/dist/vue2/common/mixins/localization.cjs.map +1 -0
  11. package/dist/vue2/common/mixins/localization.js +10 -0
  12. package/dist/vue2/common/mixins/localization.js.map +1 -0
  13. package/dist/vue2/common/utils/index.cjs +1 -1
  14. package/dist/vue2/common/utils/index.cjs.map +1 -1
  15. package/dist/vue2/common/utils/index.js +43 -39
  16. package/dist/vue2/common/utils/index.js.map +1 -1
  17. package/dist/vue2/component-documentation.json +1 -1
  18. package/dist/vue2/dialtone-vue.cjs +1 -1
  19. package/dist/vue2/dialtone-vue.js +361 -358
  20. package/dist/vue2/dialtone-vue.js.map +1 -1
  21. package/dist/vue2/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  22. package/dist/vue2/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  23. package/dist/vue2/lib/attachment-carousel/attachment-carousel.js +61 -86
  24. package/dist/vue2/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  25. package/dist/vue2/lib/banner/banner.cjs +2 -2
  26. package/dist/vue2/lib/banner/banner.cjs.map +1 -1
  27. package/dist/vue2/lib/banner/banner.js +25 -33
  28. package/dist/vue2/lib/banner/banner.js.map +1 -1
  29. package/dist/vue2/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  30. package/dist/vue2/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  31. package/dist/vue2/lib/breadcrumbs/breadcrumbs.js +14 -12
  32. package/dist/vue2/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  33. package/dist/vue2/lib/button/button.cjs +1 -1
  34. package/dist/vue2/lib/button/button.cjs.map +1 -1
  35. package/dist/vue2/lib/button/button.js +9 -7
  36. package/dist/vue2/lib/button/button.js.map +1 -1
  37. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  38. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  39. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +19 -25
  40. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  41. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  42. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  43. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.js +18 -21
  44. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  45. package/dist/vue2/lib/chip/chip.cjs +1 -1
  46. package/dist/vue2/lib/chip/chip.cjs.map +1 -1
  47. package/dist/vue2/lib/chip/chip.js +24 -29
  48. package/dist/vue2/lib/chip/chip.js.map +1 -1
  49. package/dist/vue2/lib/combobox/combobox-constants.cjs +1 -1
  50. package/dist/vue2/lib/combobox/combobox-constants.cjs.map +1 -1
  51. package/dist/vue2/lib/combobox/combobox-constants.js +2 -2
  52. package/dist/vue2/lib/combobox/combobox-constants.js.map +1 -1
  53. package/dist/vue2/lib/combobox/combobox-empty-list.cjs.map +1 -1
  54. package/dist/vue2/lib/combobox/combobox-empty-list.js.map +1 -1
  55. package/dist/vue2/lib/combobox/combobox-loading-list.cjs.map +1 -1
  56. package/dist/vue2/lib/combobox/combobox-loading-list.js.map +1 -1
  57. package/dist/vue2/lib/combobox/combobox.cjs +2 -2
  58. package/dist/vue2/lib/combobox/combobox.cjs.map +1 -1
  59. package/dist/vue2/lib/combobox/combobox.js +12 -12
  60. package/dist/vue2/lib/combobox/combobox.js.map +1 -1
  61. package/dist/vue2/lib/combobox/index.cjs +1 -1
  62. package/dist/vue2/lib/combobox/index.js +3 -3
  63. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
  64. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
  65. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.js +16 -18
  66. package/dist/vue2/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
  67. package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
  68. package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
  69. package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.js +22 -24
  70. package/dist/vue2/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
  71. package/dist/vue2/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  72. package/dist/vue2/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  73. package/dist/vue2/lib/contact-centers-row/contact-centers-row.js +40 -36
  74. package/dist/vue2/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  75. package/dist/vue2/lib/contact-row/contact-row.cjs +1 -1
  76. package/dist/vue2/lib/contact-row/contact-row.cjs.map +1 -1
  77. package/dist/vue2/lib/contact-row/contact-row.js +11 -25
  78. package/dist/vue2/lib/contact-row/contact-row.js.map +1 -1
  79. package/dist/vue2/lib/datepicker/datepicker-constants.cjs +1 -1
  80. package/dist/vue2/lib/datepicker/datepicker-constants.cjs.map +1 -1
  81. package/dist/vue2/lib/datepicker/datepicker-constants.js +2 -3
  82. package/dist/vue2/lib/datepicker/datepicker-constants.js.map +1 -1
  83. package/dist/vue2/lib/datepicker/datepicker.cjs +1 -1
  84. package/dist/vue2/lib/datepicker/datepicker.cjs.map +1 -1
  85. package/dist/vue2/lib/datepicker/datepicker.js +143 -229
  86. package/dist/vue2/lib/datepicker/datepicker.js.map +1 -1
  87. package/dist/vue2/lib/datepicker/utils.cjs +1 -1
  88. package/dist/vue2/lib/datepicker/utils.cjs.map +1 -1
  89. package/dist/vue2/lib/datepicker/utils.js +12 -11
  90. package/dist/vue2/lib/datepicker/utils.js.map +1 -1
  91. package/dist/vue2/lib/description-list/description-list.cjs +1 -1
  92. package/dist/vue2/lib/description-list/description-list.cjs.map +1 -1
  93. package/dist/vue2/lib/description-list/description-list.js +8 -8
  94. package/dist/vue2/lib/description-list/description-list.js.map +1 -1
  95. package/dist/vue2/lib/dropdown/dropdown.cjs +1 -1
  96. package/dist/vue2/lib/dropdown/dropdown.cjs.map +1 -1
  97. package/dist/vue2/lib/dropdown/dropdown.js +48 -50
  98. package/dist/vue2/lib/dropdown/dropdown.js.map +1 -1
  99. package/dist/vue2/lib/editor/editor.cjs +1 -1
  100. package/dist/vue2/lib/editor/editor.cjs.map +1 -1
  101. package/dist/vue2/lib/editor/editor.js +78 -87
  102. package/dist/vue2/lib/editor/editor.js.map +1 -1
  103. package/dist/vue2/lib/emoji-picker/emoji-picker-constants.cjs +1 -1
  104. package/dist/vue2/lib/emoji-picker/emoji-picker-constants.cjs.map +1 -1
  105. package/dist/vue2/lib/emoji-picker/emoji-picker-constants.js +6 -19
  106. package/dist/vue2/lib/emoji-picker/emoji-picker-constants.js.map +1 -1
  107. package/dist/vue2/lib/emoji-picker/emoji-picker.cjs +1 -1
  108. package/dist/vue2/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  109. package/dist/vue2/lib/emoji-picker/emoji-picker.js +106 -145
  110. package/dist/vue2/lib/emoji-picker/emoji-picker.js.map +1 -1
  111. package/dist/vue2/lib/emoji-picker/index.cjs +1 -1
  112. package/dist/vue2/lib/emoji-picker/index.js +6 -7
  113. package/dist/vue2/lib/emoji-row/emoji-row-constants.cjs +1 -1
  114. package/dist/vue2/lib/emoji-row/emoji-row-constants.cjs.map +1 -1
  115. package/dist/vue2/lib/emoji-row/emoji-row-constants.js +5 -7
  116. package/dist/vue2/lib/emoji-row/emoji-row-constants.js.map +1 -1
  117. package/dist/vue2/lib/emoji-row/emoji-row.cjs +1 -1
  118. package/dist/vue2/lib/emoji-row/emoji-row.cjs.map +1 -1
  119. package/dist/vue2/lib/emoji-row/emoji-row.js +31 -22
  120. package/dist/vue2/lib/emoji-row/emoji-row.js.map +1 -1
  121. package/dist/vue2/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  122. package/dist/vue2/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  123. package/dist/vue2/lib/feed-item-pill/feed-item-pill.js +20 -22
  124. package/dist/vue2/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  125. package/dist/vue2/lib/general-row/general-row.cjs +1 -1
  126. package/dist/vue2/lib/general-row/general-row.cjs.map +1 -1
  127. package/dist/vue2/lib/general-row/general-row.js +63 -52
  128. package/dist/vue2/lib/general-row/general-row.js.map +1 -1
  129. package/dist/vue2/lib/group-row/group-row.cjs +1 -1
  130. package/dist/vue2/lib/group-row/group-row.cjs.map +1 -1
  131. package/dist/vue2/lib/group-row/group-row.js +43 -32
  132. package/dist/vue2/lib/group-row/group-row.js.map +1 -1
  133. package/dist/vue2/lib/icon/icon-constants.cjs.map +1 -1
  134. package/dist/vue2/lib/icon/icon-constants.js.map +1 -1
  135. package/dist/vue2/lib/icon/icon.cjs +1 -1
  136. package/dist/vue2/lib/icon/icon.cjs.map +1 -1
  137. package/dist/vue2/lib/icon/icon.js +12 -8
  138. package/dist/vue2/lib/icon/icon.js.map +1 -1
  139. package/dist/vue2/lib/image-viewer/image-viewer.cjs +1 -1
  140. package/dist/vue2/lib/image-viewer/image-viewer.cjs.map +1 -1
  141. package/dist/vue2/lib/image-viewer/image-viewer.js +30 -31
  142. package/dist/vue2/lib/image-viewer/image-viewer.js.map +1 -1
  143. package/dist/vue2/lib/ivr-node/ivr-node-constants.cjs +1 -1
  144. package/dist/vue2/lib/ivr-node/ivr-node-constants.cjs.map +1 -1
  145. package/dist/vue2/lib/ivr-node/ivr-node-constants.js +24 -24
  146. package/dist/vue2/lib/ivr-node/ivr-node-constants.js.map +1 -1
  147. package/dist/vue2/lib/ivr-node/ivr-node.cjs +1 -1
  148. package/dist/vue2/lib/ivr-node/ivr-node.cjs.map +1 -1
  149. package/dist/vue2/lib/ivr-node/ivr-node.js +38 -36
  150. package/dist/vue2/lib/ivr-node/ivr-node.js.map +1 -1
  151. package/dist/vue2/lib/list-item/list-item.cjs +1 -1
  152. package/dist/vue2/lib/list-item/list-item.cjs.map +1 -1
  153. package/dist/vue2/lib/list-item/list-item.js +21 -11
  154. package/dist/vue2/lib/list-item/list-item.js.map +1 -1
  155. package/dist/vue2/lib/loader/index.cjs +2 -0
  156. package/dist/vue2/lib/loader/index.cjs.map +1 -0
  157. package/dist/vue2/lib/loader/index.js +5 -0
  158. package/dist/vue2/lib/loader/index.js.map +1 -0
  159. package/dist/vue2/lib/loader/loader.cjs +2 -0
  160. package/dist/vue2/lib/loader/loader.cjs.map +1 -0
  161. package/dist/vue2/lib/loader/loader.js +48 -0
  162. package/dist/vue2/lib/loader/loader.js.map +1 -0
  163. package/dist/vue2/lib/message-input/message-input-link.cjs +1 -1
  164. package/dist/vue2/lib/message-input/message-input-link.cjs.map +1 -1
  165. package/dist/vue2/lib/message-input/message-input-link.js +48 -23
  166. package/dist/vue2/lib/message-input/message-input-link.js.map +1 -1
  167. package/dist/vue2/lib/message-input/message-input-topbar.cjs +1 -1
  168. package/dist/vue2/lib/message-input/message-input-topbar.cjs.map +1 -1
  169. package/dist/vue2/lib/message-input/message-input-topbar.js +50 -22
  170. package/dist/vue2/lib/message-input/message-input-topbar.js.map +1 -1
  171. package/dist/vue2/lib/message-input/message-input.cjs +1 -1
  172. package/dist/vue2/lib/message-input/message-input.cjs.map +1 -1
  173. package/dist/vue2/lib/message-input/message-input.js +112 -143
  174. package/dist/vue2/lib/message-input/message-input.js.map +1 -1
  175. package/dist/vue2/lib/modal/modal.cjs +1 -2
  176. package/dist/vue2/lib/modal/modal.cjs.map +1 -1
  177. package/dist/vue2/lib/modal/modal.js +25 -42
  178. package/dist/vue2/lib/modal/modal.js.map +1 -1
  179. package/dist/vue2/lib/notice/notice-action.cjs +1 -1
  180. package/dist/vue2/lib/notice/notice-action.cjs.map +1 -1
  181. package/dist/vue2/lib/notice/notice-action.js +19 -26
  182. package/dist/vue2/lib/notice/notice-action.js.map +1 -1
  183. package/dist/vue2/lib/notice/notice.cjs +1 -1
  184. package/dist/vue2/lib/notice/notice.cjs.map +1 -1
  185. package/dist/vue2/lib/notice/notice.js +18 -27
  186. package/dist/vue2/lib/notice/notice.js.map +1 -1
  187. package/dist/vue2/lib/pagination/pagination.cjs +1 -1
  188. package/dist/vue2/lib/pagination/pagination.cjs.map +1 -1
  189. package/dist/vue2/lib/pagination/pagination.js +49 -58
  190. package/dist/vue2/lib/pagination/pagination.js.map +1 -1
  191. package/dist/vue2/lib/popover/popover-header-footer.cjs +1 -1
  192. package/dist/vue2/lib/popover/popover-header-footer.cjs.map +1 -1
  193. package/dist/vue2/lib/popover/popover-header-footer.js +24 -26
  194. package/dist/vue2/lib/popover/popover-header-footer.js.map +1 -1
  195. package/dist/vue2/lib/popover/popover.cjs +1 -1
  196. package/dist/vue2/lib/popover/popover.cjs.map +1 -1
  197. package/dist/vue2/lib/popover/popover.js +26 -35
  198. package/dist/vue2/lib/popover/popover.js.map +1 -1
  199. package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs +9 -5
  200. package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  201. package/dist/vue2/lib/rich-text-editor/rich-text-editor.js +543 -475
  202. package/dist/vue2/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  203. package/dist/vue2/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
  204. package/dist/vue2/lib/settings-menu-button/settings-menu-button.js.map +1 -1
  205. package/dist/vue2/lib/time-pill/time-pill.cjs.map +1 -1
  206. package/dist/vue2/lib/time-pill/time-pill.js.map +1 -1
  207. package/dist/vue2/lib/toast/toast.cjs +1 -1
  208. package/dist/vue2/lib/toast/toast.cjs.map +1 -1
  209. package/dist/vue2/lib/toast/toast.js +64 -97
  210. package/dist/vue2/lib/toast/toast.js.map +1 -1
  211. package/dist/vue2/lib/unread-pill/unread-pill.cjs +1 -1
  212. package/dist/vue2/lib/unread-pill/unread-pill.cjs.map +1 -1
  213. package/dist/vue2/lib/unread-pill/unread-pill.js +27 -18
  214. package/dist/vue2/lib/unread-pill/unread-pill.js.map +1 -1
  215. package/dist/vue2/localization/en-US.cjs +185 -0
  216. package/dist/vue2/localization/en-US.cjs.map +1 -0
  217. package/dist/vue2/localization/en-US.js +188 -0
  218. package/dist/vue2/localization/en-US.js.map +1 -0
  219. package/dist/vue2/localization/es-LA.cjs +169 -0
  220. package/dist/vue2/localization/es-LA.cjs.map +1 -0
  221. package/dist/vue2/localization/es-LA.js +172 -0
  222. package/dist/vue2/localization/es-LA.js.map +1 -0
  223. package/dist/vue2/localization/index.cjs +1322 -0
  224. package/dist/vue2/localization/index.cjs.map +1 -0
  225. package/dist/vue2/localization/index.js +1385 -0
  226. package/dist/vue2/localization/index.js.map +1 -0
  227. package/dist/vue2/node_modules/@tiptap/vue-2.cjs.map +1 -1
  228. package/dist/vue2/node_modules/@tiptap/vue-2.js.map +1 -1
  229. package/dist/vue2/shared/sr_only_close_button.cjs +1 -1
  230. package/dist/vue2/shared/sr_only_close_button.cjs.map +1 -1
  231. package/dist/vue2/shared/sr_only_close_button.js +19 -22
  232. package/dist/vue2/shared/sr_only_close_button.js.map +1 -1
  233. package/dist/vue2/types/common/mixins/index.d.ts +1 -1
  234. package/dist/vue2/types/common/mixins/localization.d.ts +8 -0
  235. package/dist/vue2/types/common/mixins/localization.d.ts.map +1 -0
  236. package/dist/vue2/types/common/sr_only_close_button.vue.d.ts +7 -13
  237. package/dist/vue2/types/common/sr_only_close_button.vue.d.ts.map +1 -1
  238. package/dist/vue2/types/common/utils/index.d.ts +1 -0
  239. package/dist/vue2/types/common/utils/index.d.ts.map +1 -1
  240. package/dist/vue2/types/components/banner/banner.vue.d.ts +0 -33
  241. package/dist/vue2/types/components/banner/banner.vue.d.ts.map +1 -1
  242. package/dist/vue2/types/components/breadcrumbs/breadcrumbs.vue.d.ts +5 -1
  243. package/dist/vue2/types/components/button/button.vue.d.ts +6 -2
  244. package/dist/vue2/types/components/chip/chip.vue.d.ts +8 -18
  245. package/dist/vue2/types/components/combobox/combobox_constants.d.ts +2 -2
  246. package/dist/vue2/types/components/combobox/index.d.ts +1 -1
  247. package/dist/vue2/types/components/datepicker/datepicker.vue.d.ts.map +1 -1
  248. package/dist/vue2/types/components/datepicker/datepicker_constants.d.ts +0 -1
  249. package/dist/vue2/types/components/datepicker/datepicker_constants.d.ts.map +1 -1
  250. package/dist/vue2/types/components/datepicker/modules/calendar.vue.d.ts +5 -17
  251. package/dist/vue2/types/components/datepicker/modules/month-year-picker.vue.d.ts +8 -48
  252. package/dist/vue2/types/components/datepicker/utils.d.ts +1 -0
  253. package/dist/vue2/types/components/datepicker/utils.d.ts.map +1 -1
  254. package/dist/vue2/types/components/dropdown/dropdown.vue.d.ts +0 -24
  255. package/dist/vue2/types/components/dropdown/dropdown.vue.d.ts.map +1 -1
  256. package/dist/vue2/types/components/emoji_picker/emoji_picker.vue.d.ts +5 -1
  257. package/dist/vue2/types/components/emoji_picker/emoji_picker_constants.d.ts +0 -13
  258. package/dist/vue2/types/components/icon/icon.vue.d.ts +1 -0
  259. package/dist/vue2/types/components/icon/icon_constants.d.ts.map +1 -1
  260. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts +5 -8
  261. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  262. package/dist/vue2/types/components/list_item/list_item.vue.d.ts +9 -0
  263. package/dist/vue2/types/components/list_item/list_item.vue.d.ts.map +1 -1
  264. package/dist/vue2/types/components/loader/index.d.ts +2 -0
  265. package/dist/vue2/types/components/loader/index.d.ts.map +1 -0
  266. package/dist/vue2/types/components/loader/loader.vue.d.ts +32 -0
  267. package/dist/vue2/types/components/loader/loader.vue.d.ts.map +1 -0
  268. package/dist/vue2/types/components/modal/modal.vue.d.ts +3 -33
  269. package/dist/vue2/types/components/notice/notice.vue.d.ts +1 -34
  270. package/dist/vue2/types/components/notice/notice.vue.d.ts.map +1 -1
  271. package/dist/vue2/types/components/notice/notice_action.vue.d.ts +3 -31
  272. package/dist/vue2/types/components/notice/notice_action.vue.d.ts.map +1 -1
  273. package/dist/vue2/types/components/pagination/pagination.vue.d.ts +9 -26
  274. package/dist/vue2/types/components/pagination/pagination.vue.d.ts.map +1 -1
  275. package/dist/vue2/types/components/popover/popover.vue.d.ts +0 -33
  276. package/dist/vue2/types/components/popover/popover.vue.d.ts.map +1 -1
  277. package/dist/vue2/types/components/popover/popover_header_footer.vue.d.ts +8 -11
  278. package/dist/vue2/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  279. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +25 -2
  280. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  281. package/dist/vue2/types/components/toast/layouts/toast_layout_alternate.vue.d.ts +1 -43
  282. package/dist/vue2/types/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
  283. package/dist/vue2/types/components/toast/layouts/toast_layout_default.vue.d.ts +1 -34
  284. package/dist/vue2/types/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
  285. package/dist/vue2/types/components/toast/toast.vue.d.ts +3 -111
  286. package/dist/vue2/types/components/toast/toast.vue.d.ts.map +1 -1
  287. package/dist/vue2/types/index.d.ts +2 -0
  288. package/dist/vue2/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +7 -13
  289. package/dist/vue2/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +7 -12
  290. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +8 -10
  291. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  292. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node_constants.d.ts +7 -7
  293. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node_constants.d.ts.map +1 -1
  294. package/dist/vue2/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts +1 -25
  295. package/dist/vue2/types/recipes/comboboxes/combobox_multi_select/combobox_multi_select.vue.d.ts.map +1 -1
  296. package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -25
  297. package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
  298. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +5 -41
  299. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  300. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +8 -26
  301. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue.d.ts +2 -2
  302. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +20 -61
  303. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  304. package/dist/vue2/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +6 -1
  305. package/dist/vue2/types/recipes/conversation_view/emoji_row/emoji_row_constants.d.ts.map +1 -1
  306. package/dist/vue2/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +10 -13
  307. package/dist/vue2/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  308. package/dist/vue2/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +8 -2
  309. package/dist/vue2/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  310. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts +15 -90
  311. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  312. package/dist/vue2/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +14 -2
  313. package/dist/vue2/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +14 -1
  314. package/dist/vue2/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  315. package/dist/vue2/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +10 -11
  316. package/dist/vue2/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  317. package/dist/vue2/types/recipes/leftbar/contact_row/contact_row.vue.d.ts +0 -18
  318. package/dist/vue2/types/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
  319. package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts +21 -37
  320. package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  321. package/dist/vue2/types/recipes/leftbar/group_row/group_row.vue.d.ts +9 -18
  322. package/dist/vue2/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  323. package/dist/vue2/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts +7 -1
  324. package/dist/vue2/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  325. package/dist/vue3/component-documentation.json +1 -1
  326. package/dist/vue3/dialtone-vue.cjs +1 -1
  327. package/dist/vue3/dialtone-vue.js +208 -206
  328. package/dist/vue3/dialtone-vue.js.map +1 -1
  329. package/dist/vue3/lib/list-item/list-item.cjs +1 -1
  330. package/dist/vue3/lib/list-item/list-item.cjs.map +1 -1
  331. package/dist/vue3/lib/list-item/list-item.js +35 -30
  332. package/dist/vue3/lib/list-item/list-item.js.map +1 -1
  333. package/dist/vue3/lib/loader/index.cjs +2 -0
  334. package/dist/vue3/lib/loader/index.cjs.map +1 -0
  335. package/dist/vue3/lib/loader/index.js +5 -0
  336. package/dist/vue3/lib/loader/index.js.map +1 -0
  337. package/dist/vue3/lib/loader/loader.cjs +2 -0
  338. package/dist/vue3/lib/loader/loader.cjs.map +1 -0
  339. package/dist/vue3/lib/loader/loader.js +48 -0
  340. package/dist/vue3/lib/loader/loader.js.map +1 -0
  341. package/dist/vue3/lib/message-input/message-input.cjs +1 -1
  342. package/dist/vue3/lib/message-input/message-input.cjs.map +1 -1
  343. package/dist/vue3/lib/message-input/message-input.js +2 -1
  344. package/dist/vue3/lib/message-input/message-input.js.map +1 -1
  345. package/dist/vue3/lib/rich-text-editor/rich-text-editor.cjs +8 -4
  346. package/dist/vue3/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  347. package/dist/vue3/lib/rich-text-editor/rich-text-editor.js +301 -235
  348. package/dist/vue3/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  349. package/dist/vue3/types/components/list_item/list_item.vue.d.ts +10 -2
  350. package/dist/vue3/types/components/loader/index.d.ts +2 -0
  351. package/dist/vue3/types/components/loader/index.d.ts.map +1 -0
  352. package/dist/vue3/types/components/loader/loader.vue.d.ts +26 -0
  353. package/dist/vue3/types/components/loader/loader.vue.d.ts.map +1 -0
  354. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +19 -0
  355. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  356. package/dist/vue3/types/components/toggle/toggle.vue.d.ts +1 -1
  357. package/dist/vue3/types/index.d.ts +1 -0
  358. package/dist/vue3/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  359. package/package.json +4 -3
  360. package/dist/vue2/common/mixins/sr-only-close-button.cjs +0 -3
  361. package/dist/vue2/common/mixins/sr-only-close-button.cjs.map +0 -1
  362. package/dist/vue2/common/mixins/sr-only-close-button.js +0 -44
  363. package/dist/vue2/common/mixins/sr-only-close-button.js.map +0 -1
  364. package/dist/vue2/lib/contact-row/contact-row-constants.cjs +0 -2
  365. package/dist/vue2/lib/contact-row/contact-row-constants.cjs.map +0 -1
  366. package/dist/vue2/lib/contact-row/contact-row-constants.js +0 -5
  367. package/dist/vue2/lib/contact-row/contact-row-constants.js.map +0 -1
  368. package/dist/vue2/lib/emoji/emoji-constants.cjs +0 -2
  369. package/dist/vue2/lib/emoji/emoji-constants.cjs.map +0 -1
  370. package/dist/vue2/lib/emoji/emoji-constants.js +0 -5
  371. package/dist/vue2/lib/emoji/emoji-constants.js.map +0 -1
  372. package/dist/vue2/lib/group-row/group-row-constants.cjs +0 -2
  373. package/dist/vue2/lib/group-row/group-row-constants.cjs.map +0 -1
  374. package/dist/vue2/lib/group-row/group-row-constants.js +0 -8
  375. package/dist/vue2/lib/group-row/group-row-constants.js.map +0 -1
  376. package/dist/vue2/lib/time-pill/time-pill-constants.cjs +0 -2
  377. package/dist/vue2/lib/time-pill/time-pill-constants.cjs.map +0 -1
  378. package/dist/vue2/lib/time-pill/time-pill-constants.js +0 -8
  379. package/dist/vue2/lib/time-pill/time-pill-constants.js.map +0 -1
  380. package/dist/vue2/types/common/mixins/sr_only_close_button.d.ts +0 -30
  381. package/dist/vue2/types/common/mixins/sr_only_close_button.d.ts.map +0 -1
  382. package/dist/vue2/types/components/emoji/emoji_constants.d.ts +0 -3
  383. package/dist/vue2/types/components/emoji/emoji_constants.d.ts.map +0 -1
  384. package/dist/vue2/types/recipes/conversation_view/time_pill/time_pill_constants.d.ts +0 -6
  385. package/dist/vue2/types/recipes/conversation_view/time_pill/time_pill_constants.d.ts.map +0 -1
  386. package/dist/vue2/types/recipes/leftbar/contact_row/contact_row_constants.d.ts +0 -3
  387. package/dist/vue2/types/recipes/leftbar/contact_row/contact_row_constants.d.ts.map +0 -1
  388. package/dist/vue2/types/recipes/leftbar/group_row/group_row_constants.d.ts +0 -6
  389. package/dist/vue2/types/recipes/leftbar/group_row/group_row_constants.d.ts.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("@dialpad/dialtone-icons/vue2"),o=require("./ivr-node-constants.cjs"),i=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),d=require("../card/card.cjs"),s=require("../button/button.cjs"),a=require("../dropdown/dropdown.cjs"),l=new Map([[o.IVR_NODE_PROMPT_MENU,t.DtIconKeypad],[o.IVR_NODE_PROMPT_COLLECT,t.DtIconDialer],[o.IVR_NODE_PROMPT_PLAY,t.DtIconVolume2],[o.IVR_NODE_EXPERT,t.DtIconExpertNode],[o.IVR_NODE_BRANCH,t.DtIconBranch],[o.IVR_NODE_GO_TO,t.DtIconCallMerge],[o.IVR_NODE_ASSIGN,t.DtIconChevronsRight],[o.IVR_NODE_CUSTOMER_DATA,t.DtIconListBullet],[o.IVR_NODE_TRANSFER,t.DtIconTransfer],[o.IVR_NODE_HANGUP,t.DtIconPhoneHangUp]]),_={name:"DtRecipeIvrNode",components:{DtCard:d.default,DtButton:s.default,DtDropdown:a.default,DtIconKeypad:t.DtIconKeypad,DtIconDialer:t.DtIconDialer,DtIconVolume2:t.DtIconVolume2,DtIconExpertNode:t.DtIconExpertNode,DtIconBranch:t.DtIconBranch,DtIconCallMerge:t.DtIconCallMerge,DtIconChevronsRight:t.DtIconChevronsRight,DtIconTransfer:t.DtIconTransfer,DtIconPhoneHangUp:t.DtIconPhoneHangUp,DtIconMoreVertical:t.DtIconMoreVertical,DtIconListBullet:t.DtIconListBullet},props:{nodeType:{type:String,required:!0},nodeLabel:{type:String,required:!0},isSelected:{type:Boolean,default:!1},menuButtonAriaLabel:{type:String,required:!0},dtmfKey:{type:String,default:null}},emits:["click"],data(){return{isOpen:!1}},computed:{nodeIcon(){return l.get(this.nodeType)},nodeClass(){const{normal:c,selected:e}=o.IVR_NODE_CLASS_MAPPING[this.nodeType];return this.isSelected?e:c},isGotoNode(){return this.nodeType===o.IVR_NODE_GO_TO}},methods:{openMenu(){this.isOpen=!0}}};var u=function(){var e=this,n=e._self._c;return n("div",e._g({class:["d-recipe-ivr-node",e.nodeClass]},e.$listeners),[e.dtmfKey?n("div",{staticClass:"d-recipe-ivr-node__connector d-recipe-ivr-node__connector-dtmf",class:{"d-recipe-ivr-node__connector-dtmf--selected":e.isSelected},attrs:{"data-qa":"dt-top-connector-dtmf"}},[e._v(" "+e._s(e.dtmfKey)+" ")]):e._e(),e.$slots.connector?e._t("connector"):e._e(),!e.dtmfKey&&!e.$slots.connector?n("div",{staticClass:"d-recipe-ivr-node__connector",class:{"d-recipe-ivr-node__connector--selected":e.isSelected},attrs:{"data-qa":"dt-top-connector"}}):e._e(),n("dt-card",{scopedSlots:e._u([{key:"header",fn:function(){return[n("div",{staticClass:"d-recipe-ivr-node__header-left"},[n("dt-button",{attrs:{"aria-label":e.nodeType,importance:"clear",kind:"muted","data-qa":"dt-ivr-node-icon"},scopedSlots:e._u([{key:"icon",fn:function(){return[n(e.nodeIcon,{tag:"component",class:["",{"d-recipe-ivr-node__goto-icon":e.isGotoNode}],attrs:{size:"200"}})]},proxy:!0}])}),n("p",{staticClass:"d-recipe-ivr-node__label",attrs:{"data-qa":"ivr-node-label"}},[e._v(" "+e._s(e.nodeLabel)+" ")])],1),n("dt-dropdown",{attrs:{placement:"bottom",open:e.isOpen},on:{"update:open":function(r){e.isOpen=r}},scopedSlots:e._u([{key:"anchor",fn:function(){return[n("dt-button",{attrs:{importance:"clear",kind:"muted","aria-label":e.menuButtonAriaLabel},on:{click:function(r){return r.stopPropagation(),r.preventDefault(),e.openMenu.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[n("dt-icon-more-vertical",{attrs:{size:"200"}})]},proxy:!0}])})]},proxy:!0},{key:"list",fn:function({close:r}){return[n("div",{staticClass:"d-recipe-ivr-node__dropdown-list"},[e._t("menuItems",null,{close:r})],2)]}}],null,!0)})]},proxy:!0},{key:"content",fn:function(){return[e._t("content")]},proxy:!0}],null,!0)})],2)},p=[],D=i.n(_,u,p);const I=D.exports;exports.default=I;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("@dialpad/dialtone-icons/vue2"),o=require("./ivr-node-constants.cjs"),i=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),a=require("../card/card.cjs"),s=require("../button/button.cjs"),d=require("../dropdown/dropdown.cjs"),l=require("../../common/mixins/localization.cjs"),_=new Map([[o.IVR_NODE_PROMPT_MENU,t.DtIconKeypad],[o.IVR_NODE_PROMPT_COLLECT,t.DtIconDialer],[o.IVR_NODE_PROMPT_PLAY,t.DtIconVolume2],[o.IVR_NODE_EXPERT,t.DtIconExpertNode],[o.IVR_NODE_BRANCH,t.DtIconBranch],[o.IVR_NODE_GO_TO,t.DtIconCallMerge],[o.IVR_NODE_ASSIGN,t.DtIconChevronsRight],[o.IVR_NODE_CUSTOMER_DATA,t.DtIconListBullet],[o.IVR_NODE_TRANSFER,t.DtIconTransfer],[o.IVR_NODE_HANGUP,t.DtIconPhoneHangUp]]),u={name:"DtRecipeIvrNode",components:{DtCard:a.default,DtButton:s.default,DtDropdown:d.default,DtIconKeypad:t.DtIconKeypad,DtIconDialer:t.DtIconDialer,DtIconVolume2:t.DtIconVolume2,DtIconExpertNode:t.DtIconExpertNode,DtIconBranch:t.DtIconBranch,DtIconCallMerge:t.DtIconCallMerge,DtIconChevronsRight:t.DtIconChevronsRight,DtIconTransfer:t.DtIconTransfer,DtIconPhoneHangUp:t.DtIconPhoneHangUp,DtIconMoreVertical:t.DtIconMoreVertical,DtIconListBullet:t.DtIconListBullet},mixins:[l.default],props:{nodeType:{type:String,required:!0},nodeLabel:{type:String,required:!0},isSelected:{type:Boolean,default:!1},dtmfKey:{type:String,default:null}},emits:["click"],data(){return{isOpen:!1}},computed:{nodeIcon(){return _.get(this.nodeType)},nodeClass(){const{normal:c,selected:e}=o.IVR_NODE_CLASS_MAPPING[this.nodeType];return this.isSelected?e:c},isGotoNode(){return this.nodeType===o.IVR_NODE_GO_TO},nodeAriaLabel(){const c=this.nodeType.toUpperCase();return this.i18n.$t(`DIALTONE_IVR_NODE_${c}_ARIA_LABEL`)},menuButtonAriaLabel(){return this.i18n.$t("DIALTONE_IVR_NODE_MENU_BUTTON_ARIA_LABEL")}},methods:{openMenu(){this.isOpen=!0}}};var p=function(){var e=this,n=e._self._c;return n("div",e._g({class:["d-recipe-ivr-node",e.nodeClass]},e.$listeners),[e.dtmfKey?n("div",{staticClass:"d-recipe-ivr-node__connector d-recipe-ivr-node__connector-dtmf",class:{"d-recipe-ivr-node__connector-dtmf--selected":e.isSelected},attrs:{"data-qa":"dt-top-connector-dtmf"}},[e._v(" "+e._s(e.dtmfKey)+" ")]):e._e(),e.$slots.connector?e._t("connector"):e._e(),!e.dtmfKey&&!e.$slots.connector?n("div",{staticClass:"d-recipe-ivr-node__connector",class:{"d-recipe-ivr-node__connector--selected":e.isSelected},attrs:{"data-qa":"dt-top-connector"}}):e._e(),n("dt-card",{scopedSlots:e._u([{key:"header",fn:function(){return[n("div",{staticClass:"d-recipe-ivr-node__header-left"},[n("dt-button",{attrs:{importance:"clear",kind:"muted","data-qa":"dt-ivr-node-icon","aria-label":e.nodeAriaLabel,title:e.nodeAriaLabel},scopedSlots:e._u([{key:"icon",fn:function(){return[n(e.nodeIcon,{tag:"component",class:["",{"d-recipe-ivr-node__goto-icon":e.isGotoNode}],attrs:{size:"200"}})]},proxy:!0}])}),n("p",{staticClass:"d-recipe-ivr-node__label",attrs:{"data-qa":"ivr-node-label"}},[e._v(" "+e._s(e.nodeLabel)+" ")])],1),n("dt-dropdown",{attrs:{placement:"bottom",open:e.isOpen},on:{"update:open":function(r){e.isOpen=r}},scopedSlots:e._u([{key:"anchor",fn:function(){return[n("dt-button",{attrs:{importance:"clear",kind:"muted","aria-label":e.menuButtonAriaLabel,title:e.menuButtonAriaLabel},on:{click:function(r){return r.stopPropagation(),r.preventDefault(),e.openMenu.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[n("dt-icon-more-vertical",{attrs:{size:"200"}})]},proxy:!0}])})]},proxy:!0},{key:"list",fn:function({close:r}){return[n("div",{staticClass:"d-recipe-ivr-node__dropdown-list"},[e._t("menuItems",null,{close:r})],2)]}}],null,!0)})]},proxy:!0},{key:"content",fn:function(){return[e._t("content")]},proxy:!0}],null,!0)})],2)},D=[],I=i.n(u,p,D);const f=I.exports;exports.default=f;
2
2
  //# sourceMappingURL=ivr-node.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ivr-node.cjs","sources":["../../../recipes/cards/ivr_node/ivr_node.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'd-recipe-ivr-node',\n nodeClass,\n ]\"\n v-on=\"$listeners\"\n >\n <div\n v-if=\"dtmfKey\"\n data-qa=\"dt-top-connector-dtmf\"\n class=\"d-recipe-ivr-node__connector d-recipe-ivr-node__connector-dtmf\"\n :class=\"{ 'd-recipe-ivr-node__connector-dtmf--selected': isSelected }\"\n >\n {{ dtmfKey }}\n </div>\n <slot\n v-if=\"$slots.connector\"\n name=\"connector\"\n />\n <div\n v-if=\"!dtmfKey && !$slots.connector\"\n data-qa=\"dt-top-connector\"\n class=\"d-recipe-ivr-node__connector\"\n :class=\"{ 'd-recipe-ivr-node__connector--selected': isSelected }\"\n />\n <dt-card>\n <template #header>\n <!-- node label and icon section on left of the header -->\n <div class=\"d-recipe-ivr-node__header-left\">\n <dt-button\n :aria-label=\"nodeType\"\n importance=\"clear\"\n kind=\"muted\"\n data-qa=\"dt-ivr-node-icon\"\n >\n <template #icon>\n <component\n :is=\"nodeIcon\"\n size=\"200\"\n :class=\"['', { 'd-recipe-ivr-node__goto-icon': isGotoNode }]\"\n />\n </template>\n </dt-button>\n <p\n class=\"d-recipe-ivr-node__label\"\n data-qa=\"ivr-node-label\"\n >\n {{ nodeLabel }}\n </p>\n </div>\n <!-- node menu for actions like edit, copy, delete -->\n <dt-dropdown\n placement=\"bottom\"\n :open.sync=\"isOpen\"\n >\n <template #anchor>\n <dt-button\n importance=\"clear\"\n kind=\"muted\"\n :aria-label=\"menuButtonAriaLabel\"\n @click.stop.prevent=\"openMenu\"\n >\n <template #icon>\n <dt-icon-more-vertical size=\"200\" />\n </template>\n </dt-button>\n </template>\n <template #list=\"{ close }\">\n <div class=\"d-recipe-ivr-node__dropdown-list\">\n <slot\n name=\"menuItems\"\n :close=\"close\"\n />\n </div>\n </template>\n </dt-dropdown>\n </template>\n <template #content>\n <slot name=\"content\" />\n </template>\n </dt-card>\n </div>\n</template>\n\n<script>\nimport { DtCard } from '@/components/card';\nimport { DtButton } from '@/components/button';\nimport { DtDropdown } from '@/components/dropdown';\nimport {\n DtIconKeypad,\n DtIconDialer,\n DtIconVolume2,\n DtIconExpertNode,\n DtIconBranch,\n DtIconCallMerge,\n DtIconChevronsRight,\n DtIconTransfer,\n DtIconPhoneHangUp,\n DtIconMoreVertical,\n DtIconListBullet,\n} from '@dialpad/dialtone-icons/vue2';\nimport {\n IVR_NODE_CLASS_MAPPING,\n IVR_NODE_PROMPT_MENU,\n IVR_NODE_PROMPT_COLLECT,\n IVR_NODE_PROMPT_PLAY,\n IVR_NODE_EXPERT,\n IVR_NODE_BRANCH,\n IVR_NODE_GO_TO,\n IVR_NODE_ASSIGN,\n IVR_NODE_TRANSFER,\n IVR_NODE_HANGUP,\n IVR_NODE_CUSTOMER_DATA,\n} from './ivr_node_constants';\n\nconst typeToIcon = new Map([\n [IVR_NODE_PROMPT_MENU, DtIconKeypad],\n [IVR_NODE_PROMPT_COLLECT, DtIconDialer],\n [IVR_NODE_PROMPT_PLAY, DtIconVolume2],\n [IVR_NODE_EXPERT, DtIconExpertNode],\n [IVR_NODE_BRANCH, DtIconBranch],\n [IVR_NODE_GO_TO, DtIconCallMerge],\n [IVR_NODE_ASSIGN, DtIconChevronsRight],\n [IVR_NODE_CUSTOMER_DATA, DtIconListBullet],\n [IVR_NODE_TRANSFER, DtIconTransfer],\n [IVR_NODE_HANGUP, DtIconPhoneHangUp],\n]);\n\nexport default {\n name: 'DtRecipeIvrNode',\n\n components: {\n DtCard,\n DtButton,\n DtDropdown,\n DtIconKeypad,\n DtIconDialer,\n DtIconVolume2,\n DtIconExpertNode,\n DtIconBranch,\n DtIconCallMerge,\n DtIconChevronsRight,\n DtIconTransfer,\n DtIconPhoneHangUp,\n DtIconMoreVertical,\n DtIconListBullet,\n },\n\n props: {\n\n /**\n * type of IVR Node.\n */\n nodeType: {\n type: String,\n required: true,\n },\n\n /**\n * Descriptive label for the node name.\n */\n\n nodeLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Selected state of the node\n */\n isSelected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Translated aria-label for header menu button\n */\n menuButtonAriaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * DTMF input\n */\n dtmfKey: {\n type: String,\n default: null,\n },\n },\n\n emits: [\n /**\n * Add node click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n isOpen: false,\n };\n },\n\n computed: {\n nodeIcon () {\n return typeToIcon.get(this.nodeType);\n },\n\n nodeClass () {\n const { normal, selected } = IVR_NODE_CLASS_MAPPING[this.nodeType];\n return this.isSelected ? selected : normal;\n },\n\n isGotoNode () {\n return this.nodeType === IVR_NODE_GO_TO;\n },\n },\n\n methods: {\n openMenu () {\n this.isOpen = true;\n },\n },\n};\n</script>\n"],"names":["typeToIcon","IVR_NODE_PROMPT_MENU","DtIconKeypad","IVR_NODE_PROMPT_COLLECT","DtIconDialer","IVR_NODE_PROMPT_PLAY","DtIconVolume2","IVR_NODE_EXPERT","DtIconExpertNode","IVR_NODE_BRANCH","DtIconBranch","IVR_NODE_GO_TO","DtIconCallMerge","IVR_NODE_ASSIGN","DtIconChevronsRight","IVR_NODE_CUSTOMER_DATA","DtIconListBullet","IVR_NODE_TRANSFER","DtIconTransfer","IVR_NODE_HANGUP","DtIconPhoneHangUp","_sfc_main","DtCard","DtButton","DtDropdown","DtIconMoreVertical","normal","selected","IVR_NODE_CLASS_MAPPING"],"mappings":"gWAoHAA,EAAA,IAAA,IAAA,CACA,CAAAC,EAAAA,qBAAAC,EAAAA,YAAA,EACA,CAAAC,EAAAA,wBAAAC,EAAAA,YAAA,EACA,CAAAC,EAAAA,qBAAAC,EAAAA,aAAA,EACA,CAAAC,EAAAA,gBAAAC,EAAAA,gBAAA,EACA,CAAAC,EAAAA,gBAAAC,EAAAA,YAAA,EACA,CAAAC,EAAAA,eAAAC,EAAAA,eAAA,EACA,CAAAC,EAAAA,gBAAAC,EAAAA,mBAAA,EACA,CAAAC,EAAAA,uBAAAC,EAAAA,gBAAA,EACA,CAAAC,EAAAA,kBAAAC,EAAAA,cAAA,EACA,CAAAC,EAAAA,gBAAAC,EAAAA,iBAAA,CACA,CAAA,EAEAC,EAAA,CACA,KAAA,kBAEA,WAAA,CACA,OAAAC,EAAA,QACA,SAAAC,EAAA,QACA,WAAAC,EAAA,QACA,aAAAtB,EAAA,aACA,aAAAE,EAAA,aACA,cAAAE,EAAA,cACA,iBAAAE,EAAA,iBACA,aAAAE,EAAA,aACA,gBAAAE,EAAA,gBACA,oBAAAE,EAAA,oBACA,eAAAI,EAAA,eACA,kBAAAE,EAAA,kBACA,mBAAAK,EAAA,mBACA,iBAAAT,EAAA,gBACA,EAEA,MAAA,CAKA,SAAA,CACA,KAAA,OACA,SAAA,EACA,EAMA,UAAA,CACA,KAAA,OACA,SAAA,EACA,EAKA,WAAA,CACA,KAAA,QACA,QAAA,EACA,EAKA,oBAAA,CACA,KAAA,OACA,SAAA,EACA,EAKA,QAAA,CACA,KAAA,OACA,QAAA,IACA,CACA,EAEA,MAAA,CAOA,OACA,EAEA,MAAA,CACA,MAAA,CACA,OAAA,EACA,CACA,EAEA,SAAA,CACA,UAAA,CACA,OAAAhB,EAAA,IAAA,KAAA,QAAA,CACA,EAEA,WAAA,CACA,KAAA,CAAA,OAAA0B,EAAA,SAAAC,CAAA,EAAAC,EAAAA,uBAAA,KAAA,QAAA,EACA,OAAA,KAAA,WAAAD,EAAAD,CACA,EAEA,YAAA,CACA,OAAA,KAAA,WAAAf,gBACA,CACA,EAEA,QAAA,CACA,UAAA,CACA,KAAA,OAAA,EACA,CACA,CACA"}
1
+ {"version":3,"file":"ivr-node.cjs","sources":["../../../recipes/cards/ivr_node/ivr_node.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'd-recipe-ivr-node',\n nodeClass,\n ]\"\n v-on=\"$listeners\"\n >\n <div\n v-if=\"dtmfKey\"\n data-qa=\"dt-top-connector-dtmf\"\n class=\"d-recipe-ivr-node__connector d-recipe-ivr-node__connector-dtmf\"\n :class=\"{ 'd-recipe-ivr-node__connector-dtmf--selected': isSelected }\"\n >\n {{ dtmfKey }}\n </div>\n <slot\n v-if=\"$slots.connector\"\n name=\"connector\"\n />\n <div\n v-if=\"!dtmfKey && !$slots.connector\"\n data-qa=\"dt-top-connector\"\n class=\"d-recipe-ivr-node__connector\"\n :class=\"{ 'd-recipe-ivr-node__connector--selected': isSelected }\"\n />\n <dt-card>\n <template #header>\n <!-- node label and icon section on left of the header -->\n <div class=\"d-recipe-ivr-node__header-left\">\n <dt-button\n importance=\"clear\"\n kind=\"muted\"\n data-qa=\"dt-ivr-node-icon\"\n :aria-label=\"nodeAriaLabel\"\n :title=\"nodeAriaLabel\"\n >\n <template #icon>\n <component\n :is=\"nodeIcon\"\n size=\"200\"\n :class=\"['', { 'd-recipe-ivr-node__goto-icon': isGotoNode }]\"\n />\n </template>\n </dt-button>\n <p\n class=\"d-recipe-ivr-node__label\"\n data-qa=\"ivr-node-label\"\n >\n {{ nodeLabel }}\n </p>\n </div>\n <!-- node menu for actions like edit, copy, delete -->\n <dt-dropdown\n placement=\"bottom\"\n :open.sync=\"isOpen\"\n >\n <template #anchor>\n <dt-button\n importance=\"clear\"\n kind=\"muted\"\n :aria-label=\"menuButtonAriaLabel\"\n :title=\"menuButtonAriaLabel\"\n @click.stop.prevent=\"openMenu\"\n >\n <template #icon>\n <dt-icon-more-vertical size=\"200\" />\n </template>\n </dt-button>\n </template>\n <template #list=\"{ close }\">\n <div class=\"d-recipe-ivr-node__dropdown-list\">\n <slot\n name=\"menuItems\"\n :close=\"close\"\n />\n </div>\n </template>\n </dt-dropdown>\n </template>\n <template #content>\n <slot name=\"content\" />\n </template>\n </dt-card>\n </div>\n</template>\n\n<script>\nimport { DtCard } from '@/components/card';\nimport { DtButton } from '@/components/button';\nimport { DtDropdown } from '@/components/dropdown';\nimport {\n DtIconKeypad,\n DtIconDialer,\n DtIconVolume2,\n DtIconExpertNode,\n DtIconBranch,\n DtIconCallMerge,\n DtIconChevronsRight,\n DtIconTransfer,\n DtIconPhoneHangUp,\n DtIconMoreVertical,\n DtIconListBullet,\n} from '@dialpad/dialtone-icons/vue2';\nimport {\n IVR_NODE_CLASS_MAPPING,\n IVR_NODE_PROMPT_MENU,\n IVR_NODE_PROMPT_COLLECT,\n IVR_NODE_PROMPT_PLAY,\n IVR_NODE_EXPERT,\n IVR_NODE_BRANCH,\n IVR_NODE_GO_TO,\n IVR_NODE_ASSIGN,\n IVR_NODE_TRANSFER,\n IVR_NODE_HANGUP,\n IVR_NODE_CUSTOMER_DATA,\n} from './ivr_node_constants';\nimport { DtLocalizationMixin } from '@/common/mixins';\n\nconst typeToIcon = new Map([\n [IVR_NODE_PROMPT_MENU, DtIconKeypad],\n [IVR_NODE_PROMPT_COLLECT, DtIconDialer],\n [IVR_NODE_PROMPT_PLAY, DtIconVolume2],\n [IVR_NODE_EXPERT, DtIconExpertNode],\n [IVR_NODE_BRANCH, DtIconBranch],\n [IVR_NODE_GO_TO, DtIconCallMerge],\n [IVR_NODE_ASSIGN, DtIconChevronsRight],\n [IVR_NODE_CUSTOMER_DATA, DtIconListBullet],\n [IVR_NODE_TRANSFER, DtIconTransfer],\n [IVR_NODE_HANGUP, DtIconPhoneHangUp],\n]);\n\nexport default {\n name: 'DtRecipeIvrNode',\n\n components: {\n DtCard,\n DtButton,\n DtDropdown,\n DtIconKeypad,\n DtIconDialer,\n DtIconVolume2,\n DtIconExpertNode,\n DtIconBranch,\n DtIconCallMerge,\n DtIconChevronsRight,\n DtIconTransfer,\n DtIconPhoneHangUp,\n DtIconMoreVertical,\n DtIconListBullet,\n },\n\n mixins: [DtLocalizationMixin],\n\n props: {\n\n /**\n * type of IVR Node.\n */\n nodeType: {\n type: String,\n required: true,\n },\n\n /**\n * Descriptive label for the node name.\n */\n\n nodeLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Selected state of the node\n */\n isSelected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * DTMF input\n */\n dtmfKey: {\n type: String,\n default: null,\n },\n },\n\n emits: [\n /**\n * Add node click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n isOpen: false,\n };\n },\n\n computed: {\n nodeIcon () {\n return typeToIcon.get(this.nodeType);\n },\n\n nodeClass () {\n const { normal, selected } = IVR_NODE_CLASS_MAPPING[this.nodeType];\n return this.isSelected ? selected : normal;\n },\n\n isGotoNode () {\n return this.nodeType === IVR_NODE_GO_TO;\n },\n\n nodeAriaLabel () {\n const nodeType = this.nodeType.toUpperCase();\n return this.i18n.$t(`DIALTONE_IVR_NODE_${nodeType}_ARIA_LABEL`);\n },\n\n menuButtonAriaLabel () {\n return this.i18n.$t('DIALTONE_IVR_NODE_MENU_BUTTON_ARIA_LABEL');\n },\n },\n\n methods: {\n openMenu () {\n this.isOpen = true;\n },\n },\n};\n</script>\n"],"names":["typeToIcon","IVR_NODE_PROMPT_MENU","DtIconKeypad","IVR_NODE_PROMPT_COLLECT","DtIconDialer","IVR_NODE_PROMPT_PLAY","DtIconVolume2","IVR_NODE_EXPERT","DtIconExpertNode","IVR_NODE_BRANCH","DtIconBranch","IVR_NODE_GO_TO","DtIconCallMerge","IVR_NODE_ASSIGN","DtIconChevronsRight","IVR_NODE_CUSTOMER_DATA","DtIconListBullet","IVR_NODE_TRANSFER","DtIconTransfer","IVR_NODE_HANGUP","DtIconPhoneHangUp","_sfc_main","DtCard","DtButton","DtDropdown","DtIconMoreVertical","DtLocalizationMixin","normal","selected","IVR_NODE_CLASS_MAPPING","nodeType"],"mappings":"kZAuHAA,EAAA,IAAA,IAAA,CACA,CAAAC,EAAAA,qBAAAC,EAAAA,YAAA,EACA,CAAAC,EAAAA,wBAAAC,EAAAA,YAAA,EACA,CAAAC,EAAAA,qBAAAC,EAAAA,aAAA,EACA,CAAAC,EAAAA,gBAAAC,EAAAA,gBAAA,EACA,CAAAC,EAAAA,gBAAAC,EAAAA,YAAA,EACA,CAAAC,EAAAA,eAAAC,EAAAA,eAAA,EACA,CAAAC,EAAAA,gBAAAC,EAAAA,mBAAA,EACA,CAAAC,EAAAA,uBAAAC,EAAAA,gBAAA,EACA,CAAAC,EAAAA,kBAAAC,EAAAA,cAAA,EACA,CAAAC,EAAAA,gBAAAC,EAAAA,iBAAA,CACA,CAAA,EAEAC,EAAA,CACA,KAAA,kBAEA,WAAA,CACA,OAAAC,EAAA,QACA,SAAAC,EAAA,QACA,WAAAC,EAAA,QACA,aAAAtB,EAAA,aACA,aAAAE,EAAA,aACA,cAAAE,EAAA,cACA,iBAAAE,EAAA,iBACA,aAAAE,EAAA,aACA,gBAAAE,EAAA,gBACA,oBAAAE,EAAA,oBACA,eAAAI,EAAA,eACA,kBAAAE,EAAA,kBACA,mBAAAK,EAAA,mBACA,iBAAAT,EAAA,gBACA,EAEA,OAAA,CAAAU,EAAAA,OAAA,EAEA,MAAA,CAKA,SAAA,CACA,KAAA,OACA,SAAA,EACA,EAMA,UAAA,CACA,KAAA,OACA,SAAA,EACA,EAKA,WAAA,CACA,KAAA,QACA,QAAA,EACA,EAKA,QAAA,CACA,KAAA,OACA,QAAA,IACA,CACA,EAEA,MAAA,CAOA,OACA,EAEA,MAAA,CACA,MAAA,CACA,OAAA,EACA,CACA,EAEA,SAAA,CACA,UAAA,CACA,OAAA1B,EAAA,IAAA,KAAA,QAAA,CACA,EAEA,WAAA,CACA,KAAA,CAAA,OAAA2B,EAAA,SAAAC,CAAA,EAAAC,EAAAA,uBAAA,KAAA,QAAA,EACA,OAAA,KAAA,WAAAD,EAAAD,CACA,EAEA,YAAA,CACA,OAAA,KAAA,WAAAhB,gBACA,EAEA,eAAA,CACA,MAAAmB,EAAA,KAAA,SAAA,YAAA,EACA,OAAA,KAAA,KAAA,GAAA,qBAAAA,CAAA,aAAA,CACA,EAEA,qBAAA,CACA,OAAA,KAAA,KAAA,GAAA,0CAAA,CACA,CACA,EAEA,QAAA,CACA,UAAA,CACA,KAAA,OAAA,EACA,CACA,CACA"}
@@ -1,38 +1,40 @@
1
- import { DtIconKeypad as r, DtIconDialer as c, DtIconVolume2 as i, DtIconExpertNode as d, DtIconBranch as s, DtIconCallMerge as a, DtIconChevronsRight as _, DtIconTransfer as l, DtIconPhoneHangUp as p, DtIconMoreVertical as f, DtIconListBullet as u } from "@dialpad/dialtone-icons/vue2";
2
- import { IVR_NODE_GO_TO as m, IVR_NODE_PROMPT_MENU as D, IVR_NODE_PROMPT_COLLECT as I, IVR_NODE_PROMPT_PLAY as v, IVR_NODE_EXPERT as y, IVR_NODE_BRANCH as O, IVR_NODE_ASSIGN as R, IVR_NODE_CUSTOMER_DATA as N, IVR_NODE_TRANSFER as E, IVR_NODE_HANGUP as S, IVR_NODE_CLASS_MAPPING as C } from "./ivr-node-constants.js";
3
- import { n as T } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
1
+ import { DtIconKeypad as r, DtIconDialer as i, DtIconVolume2 as c, DtIconExpertNode as a, DtIconBranch as s, DtIconCallMerge as d, DtIconChevronsRight as _, DtIconTransfer as l, DtIconPhoneHangUp as p, DtIconMoreVertical as f, DtIconListBullet as u } from "@dialpad/dialtone-icons/vue2";
2
+ import { IVR_NODE_GO_TO as m, IVR_NODE_PROMPT_MENU as D, IVR_NODE_PROMPT_COLLECT as I, IVR_NODE_PROMPT_PLAY as v, IVR_NODE_EXPERT as y, IVR_NODE_BRANCH as N, IVR_NODE_ASSIGN as O, IVR_NODE_CUSTOMER_DATA as R, IVR_NODE_TRANSFER as E, IVR_NODE_HANGUP as A, IVR_NODE_CLASS_MAPPING as T } from "./ivr-node-constants.js";
3
+ import { n as L } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
4
4
  import h from "../card/card.js";
5
- import g from "../button/button.js";
6
- import P from "../dropdown/dropdown.js";
5
+ import C from "../button/button.js";
6
+ import S from "../dropdown/dropdown.js";
7
+ import b from "../../common/mixins/localization.js";
7
8
  const V = /* @__PURE__ */ new Map([
8
9
  [D, r],
9
- [I, c],
10
- [v, i],
11
- [y, d],
12
- [O, s],
13
- [m, a],
14
- [R, _],
15
- [N, u],
10
+ [I, i],
11
+ [v, c],
12
+ [y, a],
13
+ [N, s],
14
+ [m, d],
15
+ [O, _],
16
+ [R, u],
16
17
  [E, l],
17
- [S, p]
18
- ]), b = {
18
+ [A, p]
19
+ ]), M = {
19
20
  name: "DtRecipeIvrNode",
20
21
  components: {
21
22
  DtCard: h,
22
- DtButton: g,
23
- DtDropdown: P,
23
+ DtButton: C,
24
+ DtDropdown: S,
24
25
  DtIconKeypad: r,
25
- DtIconDialer: c,
26
- DtIconVolume2: i,
27
- DtIconExpertNode: d,
26
+ DtIconDialer: i,
27
+ DtIconVolume2: c,
28
+ DtIconExpertNode: a,
28
29
  DtIconBranch: s,
29
- DtIconCallMerge: a,
30
+ DtIconCallMerge: d,
30
31
  DtIconChevronsRight: _,
31
32
  DtIconTransfer: l,
32
33
  DtIconPhoneHangUp: p,
33
34
  DtIconMoreVertical: f,
34
35
  DtIconListBullet: u
35
36
  },
37
+ mixins: [b],
36
38
  props: {
37
39
  /**
38
40
  * type of IVR Node.
@@ -55,13 +57,6 @@ const V = /* @__PURE__ */ new Map([
55
57
  type: Boolean,
56
58
  default: !1
57
59
  },
58
- /**
59
- * Translated aria-label for header menu button
60
- */
61
- menuButtonAriaLabel: {
62
- type: String,
63
- required: !0
64
- },
65
60
  /**
66
61
  * DTMF input
67
62
  */
@@ -89,11 +84,18 @@ const V = /* @__PURE__ */ new Map([
89
84
  return V.get(this.nodeType);
90
85
  },
91
86
  nodeClass() {
92
- const { normal: o, selected: e } = C[this.nodeType];
87
+ const { normal: o, selected: e } = T[this.nodeType];
93
88
  return this.isSelected ? e : o;
94
89
  },
95
90
  isGotoNode() {
96
91
  return this.nodeType === m;
92
+ },
93
+ nodeAriaLabel() {
94
+ const o = this.nodeType.toUpperCase();
95
+ return this.i18n.$t(`DIALTONE_IVR_NODE_${o}_ARIA_LABEL`);
96
+ },
97
+ menuButtonAriaLabel() {
98
+ return this.i18n.$t("DIALTONE_IVR_NODE_MENU_BUTTON_ARIA_LABEL");
97
99
  }
98
100
  },
99
101
  methods: {
@@ -102,18 +104,18 @@ const V = /* @__PURE__ */ new Map([
102
104
  }
103
105
  }
104
106
  };
105
- var A = function() {
107
+ var P = function() {
106
108
  var e = this, t = e._self._c;
107
109
  return t("div", e._g({ class: [
108
110
  "d-recipe-ivr-node",
109
111
  e.nodeClass
110
112
  ] }, e.$listeners), [e.dtmfKey ? t("div", { staticClass: "d-recipe-ivr-node__connector d-recipe-ivr-node__connector-dtmf", class: { "d-recipe-ivr-node__connector-dtmf--selected": e.isSelected }, attrs: { "data-qa": "dt-top-connector-dtmf" } }, [e._v(" " + e._s(e.dtmfKey) + " ")]) : e._e(), e.$slots.connector ? e._t("connector") : e._e(), !e.dtmfKey && !e.$slots.connector ? t("div", { staticClass: "d-recipe-ivr-node__connector", class: { "d-recipe-ivr-node__connector--selected": e.isSelected }, attrs: { "data-qa": "dt-top-connector" } }) : e._e(), t("dt-card", { scopedSlots: e._u([{ key: "header", fn: function() {
111
- return [t("div", { staticClass: "d-recipe-ivr-node__header-left" }, [t("dt-button", { attrs: { "aria-label": e.nodeType, importance: "clear", kind: "muted", "data-qa": "dt-ivr-node-icon" }, scopedSlots: e._u([{ key: "icon", fn: function() {
113
+ return [t("div", { staticClass: "d-recipe-ivr-node__header-left" }, [t("dt-button", { attrs: { importance: "clear", kind: "muted", "data-qa": "dt-ivr-node-icon", "aria-label": e.nodeAriaLabel, title: e.nodeAriaLabel }, scopedSlots: e._u([{ key: "icon", fn: function() {
112
114
  return [t(e.nodeIcon, { tag: "component", class: ["", { "d-recipe-ivr-node__goto-icon": e.isGotoNode }], attrs: { size: "200" } })];
113
115
  }, proxy: !0 }]) }), t("p", { staticClass: "d-recipe-ivr-node__label", attrs: { "data-qa": "ivr-node-label" } }, [e._v(" " + e._s(e.nodeLabel) + " ")])], 1), t("dt-dropdown", { attrs: { placement: "bottom", open: e.isOpen }, on: { "update:open": function(n) {
114
116
  e.isOpen = n;
115
117
  } }, scopedSlots: e._u([{ key: "anchor", fn: function() {
116
- return [t("dt-button", { attrs: { importance: "clear", kind: "muted", "aria-label": e.menuButtonAriaLabel }, on: { click: function(n) {
118
+ return [t("dt-button", { attrs: { importance: "clear", kind: "muted", "aria-label": e.menuButtonAriaLabel, title: e.menuButtonAriaLabel }, on: { click: function(n) {
117
119
  return n.stopPropagation(), n.preventDefault(), e.openMenu.apply(null, arguments);
118
120
  } }, scopedSlots: e._u([{ key: "icon", fn: function() {
119
121
  return [t("dt-icon-more-vertical", { attrs: { size: "200" } })];
@@ -124,12 +126,12 @@ var A = function() {
124
126
  }, proxy: !0 }, { key: "content", fn: function() {
125
127
  return [e._t("content")];
126
128
  }, proxy: !0 }], null, !0) })], 2);
127
- }, M = [], k = /* @__PURE__ */ T(
128
- b,
129
- A,
130
- M
129
+ }, g = [], B = /* @__PURE__ */ L(
130
+ M,
131
+ P,
132
+ g
131
133
  );
132
- const w = k.exports;
134
+ const w = B.exports;
133
135
  export {
134
136
  w as default
135
137
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ivr-node.js","sources":["../../../recipes/cards/ivr_node/ivr_node.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'd-recipe-ivr-node',\n nodeClass,\n ]\"\n v-on=\"$listeners\"\n >\n <div\n v-if=\"dtmfKey\"\n data-qa=\"dt-top-connector-dtmf\"\n class=\"d-recipe-ivr-node__connector d-recipe-ivr-node__connector-dtmf\"\n :class=\"{ 'd-recipe-ivr-node__connector-dtmf--selected': isSelected }\"\n >\n {{ dtmfKey }}\n </div>\n <slot\n v-if=\"$slots.connector\"\n name=\"connector\"\n />\n <div\n v-if=\"!dtmfKey && !$slots.connector\"\n data-qa=\"dt-top-connector\"\n class=\"d-recipe-ivr-node__connector\"\n :class=\"{ 'd-recipe-ivr-node__connector--selected': isSelected }\"\n />\n <dt-card>\n <template #header>\n <!-- node label and icon section on left of the header -->\n <div class=\"d-recipe-ivr-node__header-left\">\n <dt-button\n :aria-label=\"nodeType\"\n importance=\"clear\"\n kind=\"muted\"\n data-qa=\"dt-ivr-node-icon\"\n >\n <template #icon>\n <component\n :is=\"nodeIcon\"\n size=\"200\"\n :class=\"['', { 'd-recipe-ivr-node__goto-icon': isGotoNode }]\"\n />\n </template>\n </dt-button>\n <p\n class=\"d-recipe-ivr-node__label\"\n data-qa=\"ivr-node-label\"\n >\n {{ nodeLabel }}\n </p>\n </div>\n <!-- node menu for actions like edit, copy, delete -->\n <dt-dropdown\n placement=\"bottom\"\n :open.sync=\"isOpen\"\n >\n <template #anchor>\n <dt-button\n importance=\"clear\"\n kind=\"muted\"\n :aria-label=\"menuButtonAriaLabel\"\n @click.stop.prevent=\"openMenu\"\n >\n <template #icon>\n <dt-icon-more-vertical size=\"200\" />\n </template>\n </dt-button>\n </template>\n <template #list=\"{ close }\">\n <div class=\"d-recipe-ivr-node__dropdown-list\">\n <slot\n name=\"menuItems\"\n :close=\"close\"\n />\n </div>\n </template>\n </dt-dropdown>\n </template>\n <template #content>\n <slot name=\"content\" />\n </template>\n </dt-card>\n </div>\n</template>\n\n<script>\nimport { DtCard } from '@/components/card';\nimport { DtButton } from '@/components/button';\nimport { DtDropdown } from '@/components/dropdown';\nimport {\n DtIconKeypad,\n DtIconDialer,\n DtIconVolume2,\n DtIconExpertNode,\n DtIconBranch,\n DtIconCallMerge,\n DtIconChevronsRight,\n DtIconTransfer,\n DtIconPhoneHangUp,\n DtIconMoreVertical,\n DtIconListBullet,\n} from '@dialpad/dialtone-icons/vue2';\nimport {\n IVR_NODE_CLASS_MAPPING,\n IVR_NODE_PROMPT_MENU,\n IVR_NODE_PROMPT_COLLECT,\n IVR_NODE_PROMPT_PLAY,\n IVR_NODE_EXPERT,\n IVR_NODE_BRANCH,\n IVR_NODE_GO_TO,\n IVR_NODE_ASSIGN,\n IVR_NODE_TRANSFER,\n IVR_NODE_HANGUP,\n IVR_NODE_CUSTOMER_DATA,\n} from './ivr_node_constants';\n\nconst typeToIcon = new Map([\n [IVR_NODE_PROMPT_MENU, DtIconKeypad],\n [IVR_NODE_PROMPT_COLLECT, DtIconDialer],\n [IVR_NODE_PROMPT_PLAY, DtIconVolume2],\n [IVR_NODE_EXPERT, DtIconExpertNode],\n [IVR_NODE_BRANCH, DtIconBranch],\n [IVR_NODE_GO_TO, DtIconCallMerge],\n [IVR_NODE_ASSIGN, DtIconChevronsRight],\n [IVR_NODE_CUSTOMER_DATA, DtIconListBullet],\n [IVR_NODE_TRANSFER, DtIconTransfer],\n [IVR_NODE_HANGUP, DtIconPhoneHangUp],\n]);\n\nexport default {\n name: 'DtRecipeIvrNode',\n\n components: {\n DtCard,\n DtButton,\n DtDropdown,\n DtIconKeypad,\n DtIconDialer,\n DtIconVolume2,\n DtIconExpertNode,\n DtIconBranch,\n DtIconCallMerge,\n DtIconChevronsRight,\n DtIconTransfer,\n DtIconPhoneHangUp,\n DtIconMoreVertical,\n DtIconListBullet,\n },\n\n props: {\n\n /**\n * type of IVR Node.\n */\n nodeType: {\n type: String,\n required: true,\n },\n\n /**\n * Descriptive label for the node name.\n */\n\n nodeLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Selected state of the node\n */\n isSelected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Translated aria-label for header menu button\n */\n menuButtonAriaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * DTMF input\n */\n dtmfKey: {\n type: String,\n default: null,\n },\n },\n\n emits: [\n /**\n * Add node click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n isOpen: false,\n };\n },\n\n computed: {\n nodeIcon () {\n return typeToIcon.get(this.nodeType);\n },\n\n nodeClass () {\n const { normal, selected } = IVR_NODE_CLASS_MAPPING[this.nodeType];\n return this.isSelected ? selected : normal;\n },\n\n isGotoNode () {\n return this.nodeType === IVR_NODE_GO_TO;\n },\n },\n\n methods: {\n openMenu () {\n this.isOpen = true;\n },\n },\n};\n</script>\n"],"names":["typeToIcon","IVR_NODE_PROMPT_MENU","DtIconKeypad","IVR_NODE_PROMPT_COLLECT","DtIconDialer","IVR_NODE_PROMPT_PLAY","DtIconVolume2","IVR_NODE_EXPERT","DtIconExpertNode","IVR_NODE_BRANCH","DtIconBranch","IVR_NODE_GO_TO","DtIconCallMerge","IVR_NODE_ASSIGN","DtIconChevronsRight","IVR_NODE_CUSTOMER_DATA","DtIconListBullet","IVR_NODE_TRANSFER","DtIconTransfer","IVR_NODE_HANGUP","DtIconPhoneHangUp","_sfc_main","DtCard","DtButton","DtDropdown","DtIconMoreVertical","normal","selected","IVR_NODE_CLASS_MAPPING"],"mappings":";;;;;;AAoHA,MAAAA,IAAA,oBAAA,IAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AACA,CAAA,GAEAC,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAtB;AAAA,IACA,cAAAE;AAAA,IACA,eAAAE;AAAA,IACA,kBAAAE;AAAA,IACA,cAAAE;AAAA,IACA,iBAAAE;AAAA,IACA,qBAAAE;AAAA,IACA,gBAAAI;AAAA,IACA,mBAAAE;AAAA,IACA,oBAAAK;AAAA,IACA,kBAAAT;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,qBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,WAAA;AACA,aAAAhB,EAAA,IAAA,KAAA,QAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,YAAA,EAAA,QAAA0B,GAAA,UAAAC,EAAA,IAAAC,EAAA,KAAA,QAAA;AACA,aAAA,KAAA,aAAAD,IAAAD;AAAA,IACA;AAAA,IAEA,aAAA;AACA,aAAA,KAAA,aAAAf;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,WAAA;AACA,WAAA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ivr-node.js","sources":["../../../recipes/cards/ivr_node/ivr_node.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n 'd-recipe-ivr-node',\n nodeClass,\n ]\"\n v-on=\"$listeners\"\n >\n <div\n v-if=\"dtmfKey\"\n data-qa=\"dt-top-connector-dtmf\"\n class=\"d-recipe-ivr-node__connector d-recipe-ivr-node__connector-dtmf\"\n :class=\"{ 'd-recipe-ivr-node__connector-dtmf--selected': isSelected }\"\n >\n {{ dtmfKey }}\n </div>\n <slot\n v-if=\"$slots.connector\"\n name=\"connector\"\n />\n <div\n v-if=\"!dtmfKey && !$slots.connector\"\n data-qa=\"dt-top-connector\"\n class=\"d-recipe-ivr-node__connector\"\n :class=\"{ 'd-recipe-ivr-node__connector--selected': isSelected }\"\n />\n <dt-card>\n <template #header>\n <!-- node label and icon section on left of the header -->\n <div class=\"d-recipe-ivr-node__header-left\">\n <dt-button\n importance=\"clear\"\n kind=\"muted\"\n data-qa=\"dt-ivr-node-icon\"\n :aria-label=\"nodeAriaLabel\"\n :title=\"nodeAriaLabel\"\n >\n <template #icon>\n <component\n :is=\"nodeIcon\"\n size=\"200\"\n :class=\"['', { 'd-recipe-ivr-node__goto-icon': isGotoNode }]\"\n />\n </template>\n </dt-button>\n <p\n class=\"d-recipe-ivr-node__label\"\n data-qa=\"ivr-node-label\"\n >\n {{ nodeLabel }}\n </p>\n </div>\n <!-- node menu for actions like edit, copy, delete -->\n <dt-dropdown\n placement=\"bottom\"\n :open.sync=\"isOpen\"\n >\n <template #anchor>\n <dt-button\n importance=\"clear\"\n kind=\"muted\"\n :aria-label=\"menuButtonAriaLabel\"\n :title=\"menuButtonAriaLabel\"\n @click.stop.prevent=\"openMenu\"\n >\n <template #icon>\n <dt-icon-more-vertical size=\"200\" />\n </template>\n </dt-button>\n </template>\n <template #list=\"{ close }\">\n <div class=\"d-recipe-ivr-node__dropdown-list\">\n <slot\n name=\"menuItems\"\n :close=\"close\"\n />\n </div>\n </template>\n </dt-dropdown>\n </template>\n <template #content>\n <slot name=\"content\" />\n </template>\n </dt-card>\n </div>\n</template>\n\n<script>\nimport { DtCard } from '@/components/card';\nimport { DtButton } from '@/components/button';\nimport { DtDropdown } from '@/components/dropdown';\nimport {\n DtIconKeypad,\n DtIconDialer,\n DtIconVolume2,\n DtIconExpertNode,\n DtIconBranch,\n DtIconCallMerge,\n DtIconChevronsRight,\n DtIconTransfer,\n DtIconPhoneHangUp,\n DtIconMoreVertical,\n DtIconListBullet,\n} from '@dialpad/dialtone-icons/vue2';\nimport {\n IVR_NODE_CLASS_MAPPING,\n IVR_NODE_PROMPT_MENU,\n IVR_NODE_PROMPT_COLLECT,\n IVR_NODE_PROMPT_PLAY,\n IVR_NODE_EXPERT,\n IVR_NODE_BRANCH,\n IVR_NODE_GO_TO,\n IVR_NODE_ASSIGN,\n IVR_NODE_TRANSFER,\n IVR_NODE_HANGUP,\n IVR_NODE_CUSTOMER_DATA,\n} from './ivr_node_constants';\nimport { DtLocalizationMixin } from '@/common/mixins';\n\nconst typeToIcon = new Map([\n [IVR_NODE_PROMPT_MENU, DtIconKeypad],\n [IVR_NODE_PROMPT_COLLECT, DtIconDialer],\n [IVR_NODE_PROMPT_PLAY, DtIconVolume2],\n [IVR_NODE_EXPERT, DtIconExpertNode],\n [IVR_NODE_BRANCH, DtIconBranch],\n [IVR_NODE_GO_TO, DtIconCallMerge],\n [IVR_NODE_ASSIGN, DtIconChevronsRight],\n [IVR_NODE_CUSTOMER_DATA, DtIconListBullet],\n [IVR_NODE_TRANSFER, DtIconTransfer],\n [IVR_NODE_HANGUP, DtIconPhoneHangUp],\n]);\n\nexport default {\n name: 'DtRecipeIvrNode',\n\n components: {\n DtCard,\n DtButton,\n DtDropdown,\n DtIconKeypad,\n DtIconDialer,\n DtIconVolume2,\n DtIconExpertNode,\n DtIconBranch,\n DtIconCallMerge,\n DtIconChevronsRight,\n DtIconTransfer,\n DtIconPhoneHangUp,\n DtIconMoreVertical,\n DtIconListBullet,\n },\n\n mixins: [DtLocalizationMixin],\n\n props: {\n\n /**\n * type of IVR Node.\n */\n nodeType: {\n type: String,\n required: true,\n },\n\n /**\n * Descriptive label for the node name.\n */\n\n nodeLabel: {\n type: String,\n required: true,\n },\n\n /**\n * Selected state of the node\n */\n isSelected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * DTMF input\n */\n dtmfKey: {\n type: String,\n default: null,\n },\n },\n\n emits: [\n /**\n * Add node click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n ],\n\n data () {\n return {\n isOpen: false,\n };\n },\n\n computed: {\n nodeIcon () {\n return typeToIcon.get(this.nodeType);\n },\n\n nodeClass () {\n const { normal, selected } = IVR_NODE_CLASS_MAPPING[this.nodeType];\n return this.isSelected ? selected : normal;\n },\n\n isGotoNode () {\n return this.nodeType === IVR_NODE_GO_TO;\n },\n\n nodeAriaLabel () {\n const nodeType = this.nodeType.toUpperCase();\n return this.i18n.$t(`DIALTONE_IVR_NODE_${nodeType}_ARIA_LABEL`);\n },\n\n menuButtonAriaLabel () {\n return this.i18n.$t('DIALTONE_IVR_NODE_MENU_BUTTON_ARIA_LABEL');\n },\n },\n\n methods: {\n openMenu () {\n this.isOpen = true;\n },\n },\n};\n</script>\n"],"names":["typeToIcon","IVR_NODE_PROMPT_MENU","DtIconKeypad","IVR_NODE_PROMPT_COLLECT","DtIconDialer","IVR_NODE_PROMPT_PLAY","DtIconVolume2","IVR_NODE_EXPERT","DtIconExpertNode","IVR_NODE_BRANCH","DtIconBranch","IVR_NODE_GO_TO","DtIconCallMerge","IVR_NODE_ASSIGN","DtIconChevronsRight","IVR_NODE_CUSTOMER_DATA","DtIconListBullet","IVR_NODE_TRANSFER","DtIconTransfer","IVR_NODE_HANGUP","DtIconPhoneHangUp","_sfc_main","DtCard","DtButton","DtDropdown","DtIconMoreVertical","DtLocalizationMixin","normal","selected","IVR_NODE_CLASS_MAPPING","nodeType"],"mappings":";;;;;;;AAuHA,MAAAA,IAAA,oBAAA,IAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AAAA,EACA,CAAAC,GAAAC,CAAA;AACA,CAAA,GAEAC,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAtB;AAAA,IACA,cAAAE;AAAA,IACA,eAAAE;AAAA,IACA,kBAAAE;AAAA,IACA,cAAAE;AAAA,IACA,iBAAAE;AAAA,IACA,qBAAAE;AAAA,IACA,gBAAAI;AAAA,IACA,mBAAAE;AAAA,IACA,oBAAAK;AAAA,IACA,kBAAAT;AAAA,EACA;AAAA,EAEA,QAAA,CAAAU,CAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,WAAA;AACA,aAAA1B,EAAA,IAAA,KAAA,QAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,YAAA,EAAA,QAAA2B,GAAA,UAAAC,EAAA,IAAAC,EAAA,KAAA,QAAA;AACA,aAAA,KAAA,aAAAD,IAAAD;AAAA,IACA;AAAA,IAEA,aAAA;AACA,aAAA,KAAA,aAAAhB;AAAA,IACA;AAAA,IAEA,gBAAA;AACA,YAAAmB,IAAA,KAAA,SAAA,YAAA;AACA,aAAA,KAAA,KAAA,GAAA,qBAAAA,CAAA,aAAA;AAAA,IACA;AAAA,IAEA,sBAAA;AACA,aAAA,KAAA,KAAA,GAAA,0CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,WAAA;AACA,WAAA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("./list-item-constants.cjs"),o=require("../../common/utils/index.cjs"),n=require("@dialpad/dialtone-icons/vue2"),r=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),u=require("../item-layout/item-layout.cjs"),a=["listitem","menuitem","option"],d={name:"DtListItem",components:{DtItemLayout:u.default,DtIconCheck:n.DtIconCheck},inject:{highlightId:{default:null}},props:{id:{type:String,default(){return o.default.getUniqueString()}},role:{type:String,default:"listitem",validator:t=>a.includes(t)},elementType:{type:String,default:"li"},type:{type:String,default:i.LIST_ITEM_TYPES.DEFAULT,validator:t=>Object.values(i.LIST_ITEM_TYPES).includes(t)},navigationType:{type:String,default:i.LIST_ITEM_NAVIGATION_TYPES.NONE,validator:t=>Object.values(i.LIST_ITEM_NAVIGATION_TYPES).includes(t)},selected:{type:Boolean,default:!1}},emits:["click","keydown","mousemove","mouseleave"],data(){return{injected:!1,mouseHighlighted:!1}},computed:{isDefaultType(){return this.type===i.LIST_ITEM_TYPES.DEFAULT},listItemListeners(){return{...this.$listeners,keydown:t=>{["enter","space"].includes(t.code.toLowerCase())&&this.onClick(t),this.$emit("keydown",t)},mousemove:t=>{this.onMouseHover(t),this.$emit("mousemove",t)},mouseleave:t=>{this.onMouseLeave(t),this.$emit("mouseleave",t)}}},isHighlighted(){return this.isHoverable?this.highlightId&&this.highlightId()?this.id===this.highlightId():this.mouseHighlighted:!1},isFocusable(){return this.navigationType===i.LIST_ITEM_NAVIGATION_TYPES.TAB},isHoverable(){return this.navigationType!==i.LIST_ITEM_NAVIGATION_TYPES.NONE}},methods:{onClick(t){this.$emit("click",t)},onMouseHover(){this.mouseHighlighted=!0},onMouseLeave(){this.mouseHighlighted=!1}}};var c=function(){var e=this,s=e._self._c;return s(e.elementType,e._g({tag:"component",class:["d-list-item",{"d-list-item--focusable":e.isFocusable,"d-list-item--highlighted":e.isHighlighted,"d-list-item--static":!e.isHoverable}],attrs:{id:e.id,tabindex:e.isFocusable?0:-1,role:e.role,"aria-selected":e.role==="listitem"?void 0:e.isHighlighted}},e.listItemListeners),[e.isDefaultType?s("dt-item-layout",{staticClass:"d-list-item__wrapper",attrs:{unstyled:"","left-class":"d-list-item__left","content-class":"d-list-item__content","title-class":"d-list-item__title","subtitle-class":"d-list-item__subtitle","bottom-class":"d-list-item__bottom","right-class":"d-list-item__right","selected-class":"d-list-item__selected"},scopedSlots:e._u([e._l(e.$slots,function(g,l){return{key:l,fn:function(){return[e._t(l)]},proxy:!0}}),e.selected?{key:"selected",fn:function(){return[s("dt-icon-check",{attrs:{size:"400"}})]},proxy:!0}:null],null,!0)}):e._t("default")],2)},_=[],m=r.n(d,c,_);const h=m.exports;exports.default=h;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("./list-item-constants.cjs"),o=require("../../common/utils/index.cjs"),n=require("@dialpad/dialtone-icons/vue2"),r=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),a=require("../item-layout/item-layout.cjs"),u=["listitem","menuitem","option"],d={name:"DtListItem",components:{DtItemLayout:a.default,DtIconCheck:n.DtIconCheck},inject:{highlightId:{default:null}},props:{id:{type:String,default(){return o.default.getUniqueString()}},role:{type:String,default:"listitem",validator:t=>u.includes(t)},elementType:{type:String,default:"li"},type:{type:String,default:i.LIST_ITEM_TYPES.DEFAULT,validator:t=>Object.values(i.LIST_ITEM_TYPES).includes(t)},navigationType:{type:String,default:i.LIST_ITEM_NAVIGATION_TYPES.NONE,validator:t=>Object.values(i.LIST_ITEM_NAVIGATION_TYPES).includes(t)},selected:{type:Boolean,default:!1},wrapperClass:{type:[String,Object,Array],default:""}},emits:["click","keydown","mousemove","mouseleave"],data(){return{injected:!1,mouseHighlighted:!1}},computed:{isDefaultType(){return this.type===i.LIST_ITEM_TYPES.DEFAULT},listItemListeners(){return{...this.$listeners,keydown:t=>{["enter","space"].includes(t.code.toLowerCase())&&this.onClick(t),this.$emit("keydown",t)},mousemove:t=>{this.onMouseHover(t),this.$emit("mousemove",t)},mouseleave:t=>{this.onMouseLeave(t),this.$emit("mouseleave",t)}}},isHighlighted(){return this.isHoverable?this.highlightId&&this.highlightId()?this.id===this.highlightId():this.mouseHighlighted:!1},isFocusable(){return this.navigationType===i.LIST_ITEM_NAVIGATION_TYPES.TAB},isHoverable(){return this.navigationType!==i.LIST_ITEM_NAVIGATION_TYPES.NONE}},methods:{onClick(t){this.$emit("click",t)},onMouseHover(){this.mouseHighlighted=!0},onMouseLeave(){this.mouseHighlighted=!1}}};var c=function(){var e=this,s=e._self._c;return s(e.elementType,e._g({tag:"component",class:["d-list-item",{"d-list-item--focusable":e.isFocusable,"d-list-item--highlighted":e.isHighlighted,"d-list-item--static":!e.isHoverable}],attrs:{id:e.id,tabindex:e.isFocusable?0:-1,role:e.role,"aria-selected":e.role==="listitem"?void 0:e.isHighlighted}},e.listItemListeners),[e.isDefaultType?s("dt-item-layout",{class:["d-list-item__wrapper",e.wrapperClass],attrs:{unstyled:"","left-class":"d-list-item__left","content-class":"d-list-item__content","title-class":"d-list-item__title","subtitle-class":"d-list-item__subtitle","bottom-class":"d-list-item__bottom","right-class":"d-list-item__right","selected-class":"d-list-item__selected","data-qa":"dt-list-item-wrapper"},scopedSlots:e._u([e._l(e.$slots,function(g,l){return{key:l,fn:function(){return[e._t(l)]},proxy:!0}}),e.selected?{key:"selected",fn:function(){return[s("dt-icon-check",{attrs:{size:"400"}})]},proxy:!0}:null],null,!0)}):e._t("default")],2)},_=[],m=r.n(d,c,_);const h=m.exports;exports.default=h;
2
2
  //# sourceMappingURL=list-item.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-item.cjs","sources":["../../../components/list_item/list_item.vue"],"sourcesContent":["<template>\n <component\n :is=\"elementType\"\n :id=\"id\"\n :class=\"[\n 'd-list-item',\n {\n 'd-list-item--focusable': isFocusable,\n 'd-list-item--highlighted': isHighlighted,\n 'd-list-item--static': !isHoverable,\n }]\"\n :tabindex=\"isFocusable ? 0 : -1\"\n :role=\"role\"\n :aria-selected=\"role === 'listitem' ? undefined : isHighlighted\"\n v-on=\"listItemListeners\"\n >\n <dt-item-layout\n v-if=\"isDefaultType\"\n unstyled\n class=\"d-list-item__wrapper\"\n left-class=\"d-list-item__left\"\n content-class=\"d-list-item__content\"\n title-class=\"d-list-item__title\"\n subtitle-class=\"d-list-item__subtitle\"\n bottom-class=\"d-list-item__bottom\"\n right-class=\"d-list-item__right\"\n selected-class=\"d-list-item__selected\"\n >\n <template\n v-for=\"(_, slotName) in $slots\"\n #[slotName]\n >\n <!-- @slot named slots for custom list items -->\n <slot :name=\"slotName\" />\n </template>\n <template\n v-if=\"selected\"\n #selected\n >\n <dt-icon-check size=\"400\" />\n </template>\n </dt-item-layout>\n <!-- @slot slot for the main content -->\n <slot v-else />\n </component>\n</template>\n\n<script>\nimport {\n LIST_ITEM_TYPES,\n LIST_ITEM_NAVIGATION_TYPES,\n} from './list_item_constants';\nimport utils from '@/common/utils';\nimport { DtIconCheck } from '@dialpad/dialtone-icons/vue2';\nimport { DtItemLayout } from '@/components/item_layout';\n\nconst ROLES = ['listitem', 'menuitem', 'option'];\n\n/**\n * A list item is an element that can be used to represent individual items in a list.\n * @see https://dialtone.dialpad.com/components/list_item.html\n */\nexport default {\n name: 'DtListItem',\n\n components: {\n DtItemLayout,\n DtIconCheck,\n },\n\n /**\n * Value provided from keyboard_list_navigation.js using id prop.\n */\n inject: {\n highlightId: { default: null },\n },\n\n props: {\n /**\n * Id for the item.\n */\n id: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: 'listitem',\n validator: (role) => (ROLES).includes(role),\n },\n\n /**\n * HTML element type (tag name) of the content wrapper element.\n */\n elementType: {\n type: String,\n default: 'li',\n },\n\n /**\n * The type of child list item to use.\n * @values default, custom\n */\n type: {\n type: String,\n default: LIST_ITEM_TYPES.DEFAULT,\n validator: (t) => Object.values(LIST_ITEM_TYPES).includes(t),\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.NONE,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * Applies selected styles to the list item\n */\n selected: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Native mouse move event\n *\n * @event mousemove\n * @type {MouseEvent}\n */\n 'mousemove',\n\n /**\n * Native mouse leave event\n *\n * @event mouseleave\n * @type {MouseEvent}\n */\n 'mouseleave',\n ],\n\n data () {\n return {\n injected: false,\n mouseHighlighted: false,\n };\n },\n\n computed: {\n isDefaultType () {\n if (this.type === LIST_ITEM_TYPES.DEFAULT) return true;\n return false;\n },\n\n listItemListeners () {\n return {\n ...this.$listeners,\n keydown: event => {\n if (['enter', 'space'].includes(event.code.toLowerCase())) {\n this.onClick(event);\n }\n this.$emit('keydown', event);\n },\n\n mousemove: event => {\n this.onMouseHover(event);\n this.$emit('mousemove', event);\n },\n\n mouseleave: event => {\n this.onMouseLeave(event);\n this.$emit('mouseleave', event);\n },\n };\n },\n\n /**\n * For keyboard navigation, whether this item is currently highlighted.\n * An injected highlightId will override the default mouseover highlight.\n */\n isHighlighted () {\n if (this.isHoverable) {\n return this.highlightId && this.highlightId() ? this.id === this.highlightId() : this.mouseHighlighted;\n }\n return false;\n },\n\n isFocusable () {\n // Navigation type has to be set to \"tab\".\n return this.navigationType === LIST_ITEM_NAVIGATION_TYPES.TAB;\n },\n\n /**\n * Whether to apply hover styles.\n */\n isHoverable () {\n return this.navigationType !== LIST_ITEM_NAVIGATION_TYPES.NONE;\n },\n },\n\n methods: {\n onClick (e) {\n this.$emit('click', e);\n },\n\n onMouseHover () {\n this.mouseHighlighted = true;\n },\n\n onMouseLeave () {\n this.mouseHighlighted = false;\n },\n },\n};\n</script>\n"],"names":["ROLES","_sfc_main","DtItemLayout","DtIconCheck","utils","role","LIST_ITEM_TYPES","LIST_ITEM_NAVIGATION_TYPES","event","e"],"mappings":"iVAwDAA,EAAA,CAAA,WAAA,WAAA,QAAA,EAMAC,EAAA,CACA,KAAA,aAEA,WAAA,CACA,aAAAC,EAAA,QACA,YAAAC,EAAA,WACA,EAKA,OAAA,CACA,YAAA,CAAA,QAAA,IAAA,CACA,EAEA,MAAA,CAIA,GAAA,CACA,KAAA,OACA,SAAA,CAAA,OAAAC,UAAA,gBAAA,CAAA,CACA,EAKA,KAAA,CACA,KAAA,OACA,QAAA,WACA,UAAAC,GAAAL,EAAA,SAAAK,CAAA,CACA,EAKA,YAAA,CACA,KAAA,OACA,QAAA,IACA,EAMA,KAAA,CACA,KAAA,OACA,QAAAC,EAAA,gBAAA,QACA,UAAA,GAAA,OAAA,OAAAA,iBAAA,EAAA,SAAA,CAAA,CACA,EASA,eAAA,CACA,KAAA,OACA,QAAAC,EAAA,2BAAA,KACA,UAAA,GAAA,OAAA,OAAAA,4BAAA,EAAA,SAAA,CAAA,CACA,EAKA,SAAA,CACA,KAAA,QACA,QAAA,EACA,CACA,EAEA,MAAA,CAOA,QAQA,UAQA,YAQA,YACA,EAEA,MAAA,CACA,MAAA,CACA,SAAA,GACA,iBAAA,EACA,CACA,EAEA,SAAA,CACA,eAAA,CACA,OAAA,KAAA,OAAAD,EAAA,gBAAA,OAEA,EAEA,mBAAA,CACA,MAAA,CACA,GAAA,KAAA,WACA,QAAAE,GAAA,CACA,CAAA,QAAA,OAAA,EAAA,SAAAA,EAAA,KAAA,YAAA,CAAA,GACA,KAAA,QAAAA,CAAA,EAEA,KAAA,MAAA,UAAAA,CAAA,CACA,EAEA,UAAAA,GAAA,CACA,KAAA,aAAAA,CAAA,EACA,KAAA,MAAA,YAAAA,CAAA,CACA,EAEA,WAAAA,GAAA,CACA,KAAA,aAAAA,CAAA,EACA,KAAA,MAAA,aAAAA,CAAA,CACA,CACA,CACA,EAMA,eAAA,CACA,OAAA,KAAA,YACA,KAAA,aAAA,KAAA,YAAA,EAAA,KAAA,KAAA,KAAA,cAAA,KAAA,iBAEA,EACA,EAEA,aAAA,CAEA,OAAA,KAAA,iBAAAD,EAAA,2BAAA,GACA,EAKA,aAAA,CACA,OAAA,KAAA,iBAAAA,EAAA,2BAAA,IACA,CACA,EAEA,QAAA,CACA,QAAAE,EAAA,CACA,KAAA,MAAA,QAAAA,CAAA,CACA,EAEA,cAAA,CACA,KAAA,iBAAA,EACA,EAEA,cAAA,CACA,KAAA,iBAAA,EACA,CACA,CACA"}
1
+ {"version":3,"file":"list-item.cjs","sources":["../../../components/list_item/list_item.vue"],"sourcesContent":["<template>\n <component\n :is=\"elementType\"\n :id=\"id\"\n :class=\"[\n 'd-list-item',\n {\n 'd-list-item--focusable': isFocusable,\n 'd-list-item--highlighted': isHighlighted,\n 'd-list-item--static': !isHoverable,\n }]\"\n :tabindex=\"isFocusable ? 0 : -1\"\n :role=\"role\"\n :aria-selected=\"role === 'listitem' ? undefined : isHighlighted\"\n v-on=\"listItemListeners\"\n >\n <dt-item-layout\n v-if=\"isDefaultType\"\n unstyled\n :class=\"['d-list-item__wrapper', wrapperClass]\"\n left-class=\"d-list-item__left\"\n content-class=\"d-list-item__content\"\n title-class=\"d-list-item__title\"\n subtitle-class=\"d-list-item__subtitle\"\n bottom-class=\"d-list-item__bottom\"\n right-class=\"d-list-item__right\"\n selected-class=\"d-list-item__selected\"\n data-qa=\"dt-list-item-wrapper\"\n >\n <template\n v-for=\"(_, slotName) in $slots\"\n #[slotName]\n >\n <!-- @slot named slots for custom list items -->\n <slot :name=\"slotName\" />\n </template>\n <template\n v-if=\"selected\"\n #selected\n >\n <dt-icon-check size=\"400\" />\n </template>\n </dt-item-layout>\n <!-- @slot slot for the main content -->\n <slot v-else />\n </component>\n</template>\n\n<script>\nimport {\n LIST_ITEM_TYPES,\n LIST_ITEM_NAVIGATION_TYPES,\n} from './list_item_constants';\nimport utils from '@/common/utils';\nimport { DtIconCheck } from '@dialpad/dialtone-icons/vue2';\nimport { DtItemLayout } from '@/components/item_layout';\n\nconst ROLES = ['listitem', 'menuitem', 'option'];\n\n/**\n * A list item is an element that can be used to represent individual items in a list.\n * @see https://dialtone.dialpad.com/components/list_item.html\n */\nexport default {\n name: 'DtListItem',\n\n components: {\n DtItemLayout,\n DtIconCheck,\n },\n\n /**\n * Value provided from keyboard_list_navigation.js using id prop.\n */\n inject: {\n highlightId: { default: null },\n },\n\n props: {\n /**\n * Id for the item.\n */\n id: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: 'listitem',\n validator: (role) => (ROLES).includes(role),\n },\n\n /**\n * HTML element type (tag name) of the content wrapper element.\n */\n elementType: {\n type: String,\n default: 'li',\n },\n\n /**\n * The type of child list item to use.\n * @values default, custom\n */\n type: {\n type: String,\n default: LIST_ITEM_TYPES.DEFAULT,\n validator: (t) => Object.values(LIST_ITEM_TYPES).includes(t),\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.NONE,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * Applies selected styles to the list item\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Additional Classes to apply to the wrapper element,\n * note: it only applies on \"default\" type\n * Can accept all of: String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n wrapperClass: {\n type: [String, Object, Array],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Native mouse move event\n *\n * @event mousemove\n * @type {MouseEvent}\n */\n 'mousemove',\n\n /**\n * Native mouse leave event\n *\n * @event mouseleave\n * @type {MouseEvent}\n */\n 'mouseleave',\n ],\n\n data () {\n return {\n injected: false,\n mouseHighlighted: false,\n };\n },\n\n computed: {\n isDefaultType () {\n return this.type === LIST_ITEM_TYPES.DEFAULT;\n },\n\n listItemListeners () {\n return {\n ...this.$listeners,\n keydown: event => {\n if (['enter', 'space'].includes(event.code.toLowerCase())) {\n this.onClick(event);\n }\n this.$emit('keydown', event);\n },\n\n mousemove: event => {\n this.onMouseHover(event);\n this.$emit('mousemove', event);\n },\n\n mouseleave: event => {\n this.onMouseLeave(event);\n this.$emit('mouseleave', event);\n },\n };\n },\n\n /**\n * For keyboard navigation, whether this item is currently highlighted.\n * An injected highlightId will override the default mouseover highlight.\n */\n isHighlighted () {\n if (this.isHoverable) {\n return this.highlightId && this.highlightId() ? this.id === this.highlightId() : this.mouseHighlighted;\n }\n return false;\n },\n\n isFocusable () {\n // Navigation type has to be set to \"tab\".\n return this.navigationType === LIST_ITEM_NAVIGATION_TYPES.TAB;\n },\n\n /**\n * Whether to apply hover styles.\n */\n isHoverable () {\n return this.navigationType !== LIST_ITEM_NAVIGATION_TYPES.NONE;\n },\n },\n\n methods: {\n onClick (e) {\n this.$emit('click', e);\n },\n\n onMouseHover () {\n this.mouseHighlighted = true;\n },\n\n onMouseLeave () {\n this.mouseHighlighted = false;\n },\n },\n};\n</script>\n"],"names":["ROLES","_sfc_main","DtItemLayout","DtIconCheck","utils","role","LIST_ITEM_TYPES","LIST_ITEM_NAVIGATION_TYPES","event","e"],"mappings":"iVAyDAA,EAAA,CAAA,WAAA,WAAA,QAAA,EAMAC,EAAA,CACA,KAAA,aAEA,WAAA,CACA,aAAAC,EAAA,QACA,YAAAC,EAAA,WACA,EAKA,OAAA,CACA,YAAA,CAAA,QAAA,IAAA,CACA,EAEA,MAAA,CAIA,GAAA,CACA,KAAA,OACA,SAAA,CAAA,OAAAC,UAAA,gBAAA,CAAA,CACA,EAKA,KAAA,CACA,KAAA,OACA,QAAA,WACA,UAAAC,GAAAL,EAAA,SAAAK,CAAA,CACA,EAKA,YAAA,CACA,KAAA,OACA,QAAA,IACA,EAMA,KAAA,CACA,KAAA,OACA,QAAAC,EAAA,gBAAA,QACA,UAAA,GAAA,OAAA,OAAAA,iBAAA,EAAA,SAAA,CAAA,CACA,EASA,eAAA,CACA,KAAA,OACA,QAAAC,EAAA,2BAAA,KACA,UAAA,GAAA,OAAA,OAAAA,4BAAA,EAAA,SAAA,CAAA,CACA,EAKA,SAAA,CACA,KAAA,QACA,QAAA,EACA,EAQA,aAAA,CACA,KAAA,CAAA,OAAA,OAAA,KAAA,EACA,QAAA,EACA,CACA,EAEA,MAAA,CAOA,QAQA,UAQA,YAQA,YACA,EAEA,MAAA,CACA,MAAA,CACA,SAAA,GACA,iBAAA,EACA,CACA,EAEA,SAAA,CACA,eAAA,CACA,OAAA,KAAA,OAAAD,EAAA,gBAAA,OACA,EAEA,mBAAA,CACA,MAAA,CACA,GAAA,KAAA,WACA,QAAAE,GAAA,CACA,CAAA,QAAA,OAAA,EAAA,SAAAA,EAAA,KAAA,YAAA,CAAA,GACA,KAAA,QAAAA,CAAA,EAEA,KAAA,MAAA,UAAAA,CAAA,CACA,EAEA,UAAAA,GAAA,CACA,KAAA,aAAAA,CAAA,EACA,KAAA,MAAA,YAAAA,CAAA,CACA,EAEA,WAAAA,GAAA,CACA,KAAA,aAAAA,CAAA,EACA,KAAA,MAAA,aAAAA,CAAA,CACA,CACA,CACA,EAMA,eAAA,CACA,OAAA,KAAA,YACA,KAAA,aAAA,KAAA,YAAA,EAAA,KAAA,KAAA,KAAA,cAAA,KAAA,iBAEA,EACA,EAEA,aAAA,CAEA,OAAA,KAAA,iBAAAD,EAAA,2BAAA,GACA,EAKA,aAAA,CACA,OAAA,KAAA,iBAAAA,EAAA,2BAAA,IACA,CACA,EAEA,QAAA,CACA,QAAAE,EAAA,CACA,KAAA,MAAA,QAAAA,CAAA,CACA,EAEA,cAAA,CACA,KAAA,iBAAA,EACA,EAEA,cAAA,CACA,KAAA,iBAAA,EACA,CACA,CACA"}
@@ -1,13 +1,13 @@
1
1
  import { LIST_ITEM_TYPES as l, LIST_ITEM_NAVIGATION_TYPES as i } from "./list-item-constants.js";
2
- import n from "../../common/utils/index.js";
3
- import { DtIconCheck as r } from "@dialpad/dialtone-icons/vue2";
2
+ import r from "../../common/utils/index.js";
3
+ import { DtIconCheck as n } from "@dialpad/dialtone-icons/vue2";
4
4
  import { n as a } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
5
- import u from "../item-layout/item-layout.js";
6
- const d = ["listitem", "menuitem", "option"], m = {
5
+ import d from "../item-layout/item-layout.js";
6
+ const u = ["listitem", "menuitem", "option"], m = {
7
7
  name: "DtListItem",
8
8
  components: {
9
- DtItemLayout: u,
10
- DtIconCheck: r
9
+ DtItemLayout: d,
10
+ DtIconCheck: n
11
11
  },
12
12
  /**
13
13
  * Value provided from keyboard_list_navigation.js using id prop.
@@ -22,7 +22,7 @@ const d = ["listitem", "menuitem", "option"], m = {
22
22
  id: {
23
23
  type: String,
24
24
  default() {
25
- return n.getUniqueString();
25
+ return r.getUniqueString();
26
26
  }
27
27
  },
28
28
  /**
@@ -31,7 +31,7 @@ const d = ["listitem", "menuitem", "option"], m = {
31
31
  role: {
32
32
  type: String,
33
33
  default: "listitem",
34
- validator: (e) => d.includes(e)
34
+ validator: (e) => u.includes(e)
35
35
  },
36
36
  /**
37
37
  * HTML element type (tag name) of the content wrapper element.
@@ -67,6 +67,16 @@ const d = ["listitem", "menuitem", "option"], m = {
67
67
  selected: {
68
68
  type: Boolean,
69
69
  default: !1
70
+ },
71
+ /**
72
+ * Additional Classes to apply to the wrapper element,
73
+ * note: it only applies on "default" type
74
+ * Can accept all of: String, Object, and Array, i.e. has the
75
+ * same api as Vue's built-in handling of the class attribute.
76
+ */
77
+ wrapperClass: {
78
+ type: [String, Object, Array],
79
+ default: ""
70
80
  }
71
81
  },
72
82
  emits: [
@@ -161,19 +171,19 @@ var c = function() {
161
171
  "d-list-item--highlighted": t.isHighlighted,
162
172
  "d-list-item--static": !t.isHoverable
163
173
  }
164
- ], attrs: { id: t.id, tabindex: t.isFocusable ? 0 : -1, role: t.role, "aria-selected": t.role === "listitem" ? void 0 : t.isHighlighted } }, t.listItemListeners), [t.isDefaultType ? s("dt-item-layout", { staticClass: "d-list-item__wrapper", attrs: { unstyled: "", "left-class": "d-list-item__left", "content-class": "d-list-item__content", "title-class": "d-list-item__title", "subtitle-class": "d-list-item__subtitle", "bottom-class": "d-list-item__bottom", "right-class": "d-list-item__right", "selected-class": "d-list-item__selected" }, scopedSlots: t._u([t._l(t.$slots, function(f, o) {
174
+ ], attrs: { id: t.id, tabindex: t.isFocusable ? 0 : -1, role: t.role, "aria-selected": t.role === "listitem" ? void 0 : t.isHighlighted } }, t.listItemListeners), [t.isDefaultType ? s("dt-item-layout", { class: ["d-list-item__wrapper", t.wrapperClass], attrs: { unstyled: "", "left-class": "d-list-item__left", "content-class": "d-list-item__content", "title-class": "d-list-item__title", "subtitle-class": "d-list-item__subtitle", "bottom-class": "d-list-item__bottom", "right-class": "d-list-item__right", "selected-class": "d-list-item__selected", "data-qa": "dt-list-item-wrapper" }, scopedSlots: t._u([t._l(t.$slots, function(_, o) {
165
175
  return { key: o, fn: function() {
166
176
  return [t._t(o)];
167
177
  }, proxy: !0 };
168
178
  }), t.selected ? { key: "selected", fn: function() {
169
179
  return [s("dt-icon-check", { attrs: { size: "400" } })];
170
180
  }, proxy: !0 } : null], null, !0) }) : t._t("default")], 2);
171
- }, h = [], _ = /* @__PURE__ */ a(
181
+ }, h = [], p = /* @__PURE__ */ a(
172
182
  m,
173
183
  c,
174
184
  h
175
185
  );
176
- const I = _.exports;
186
+ const I = p.exports;
177
187
  export {
178
188
  I as default
179
189
  };
@@ -1 +1 @@
1
- {"version":3,"file":"list-item.js","sources":["../../../components/list_item/list_item.vue"],"sourcesContent":["<template>\n <component\n :is=\"elementType\"\n :id=\"id\"\n :class=\"[\n 'd-list-item',\n {\n 'd-list-item--focusable': isFocusable,\n 'd-list-item--highlighted': isHighlighted,\n 'd-list-item--static': !isHoverable,\n }]\"\n :tabindex=\"isFocusable ? 0 : -1\"\n :role=\"role\"\n :aria-selected=\"role === 'listitem' ? undefined : isHighlighted\"\n v-on=\"listItemListeners\"\n >\n <dt-item-layout\n v-if=\"isDefaultType\"\n unstyled\n class=\"d-list-item__wrapper\"\n left-class=\"d-list-item__left\"\n content-class=\"d-list-item__content\"\n title-class=\"d-list-item__title\"\n subtitle-class=\"d-list-item__subtitle\"\n bottom-class=\"d-list-item__bottom\"\n right-class=\"d-list-item__right\"\n selected-class=\"d-list-item__selected\"\n >\n <template\n v-for=\"(_, slotName) in $slots\"\n #[slotName]\n >\n <!-- @slot named slots for custom list items -->\n <slot :name=\"slotName\" />\n </template>\n <template\n v-if=\"selected\"\n #selected\n >\n <dt-icon-check size=\"400\" />\n </template>\n </dt-item-layout>\n <!-- @slot slot for the main content -->\n <slot v-else />\n </component>\n</template>\n\n<script>\nimport {\n LIST_ITEM_TYPES,\n LIST_ITEM_NAVIGATION_TYPES,\n} from './list_item_constants';\nimport utils from '@/common/utils';\nimport { DtIconCheck } from '@dialpad/dialtone-icons/vue2';\nimport { DtItemLayout } from '@/components/item_layout';\n\nconst ROLES = ['listitem', 'menuitem', 'option'];\n\n/**\n * A list item is an element that can be used to represent individual items in a list.\n * @see https://dialtone.dialpad.com/components/list_item.html\n */\nexport default {\n name: 'DtListItem',\n\n components: {\n DtItemLayout,\n DtIconCheck,\n },\n\n /**\n * Value provided from keyboard_list_navigation.js using id prop.\n */\n inject: {\n highlightId: { default: null },\n },\n\n props: {\n /**\n * Id for the item.\n */\n id: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: 'listitem',\n validator: (role) => (ROLES).includes(role),\n },\n\n /**\n * HTML element type (tag name) of the content wrapper element.\n */\n elementType: {\n type: String,\n default: 'li',\n },\n\n /**\n * The type of child list item to use.\n * @values default, custom\n */\n type: {\n type: String,\n default: LIST_ITEM_TYPES.DEFAULT,\n validator: (t) => Object.values(LIST_ITEM_TYPES).includes(t),\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.NONE,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * Applies selected styles to the list item\n */\n selected: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Native mouse move event\n *\n * @event mousemove\n * @type {MouseEvent}\n */\n 'mousemove',\n\n /**\n * Native mouse leave event\n *\n * @event mouseleave\n * @type {MouseEvent}\n */\n 'mouseleave',\n ],\n\n data () {\n return {\n injected: false,\n mouseHighlighted: false,\n };\n },\n\n computed: {\n isDefaultType () {\n if (this.type === LIST_ITEM_TYPES.DEFAULT) return true;\n return false;\n },\n\n listItemListeners () {\n return {\n ...this.$listeners,\n keydown: event => {\n if (['enter', 'space'].includes(event.code.toLowerCase())) {\n this.onClick(event);\n }\n this.$emit('keydown', event);\n },\n\n mousemove: event => {\n this.onMouseHover(event);\n this.$emit('mousemove', event);\n },\n\n mouseleave: event => {\n this.onMouseLeave(event);\n this.$emit('mouseleave', event);\n },\n };\n },\n\n /**\n * For keyboard navigation, whether this item is currently highlighted.\n * An injected highlightId will override the default mouseover highlight.\n */\n isHighlighted () {\n if (this.isHoverable) {\n return this.highlightId && this.highlightId() ? this.id === this.highlightId() : this.mouseHighlighted;\n }\n return false;\n },\n\n isFocusable () {\n // Navigation type has to be set to \"tab\".\n return this.navigationType === LIST_ITEM_NAVIGATION_TYPES.TAB;\n },\n\n /**\n * Whether to apply hover styles.\n */\n isHoverable () {\n return this.navigationType !== LIST_ITEM_NAVIGATION_TYPES.NONE;\n },\n },\n\n methods: {\n onClick (e) {\n this.$emit('click', e);\n },\n\n onMouseHover () {\n this.mouseHighlighted = true;\n },\n\n onMouseLeave () {\n this.mouseHighlighted = false;\n },\n },\n};\n</script>\n"],"names":["ROLES","_sfc_main","DtItemLayout","DtIconCheck","utils","role","LIST_ITEM_TYPES","t","LIST_ITEM_NAVIGATION_TYPES","event"],"mappings":";;;;;AAwDA,MAAAA,IAAA,CAAA,YAAA,YAAA,QAAA,GAMAC,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,cAAAC;AAAA,IACA,aAAAC;AAAA,EACA;AAAA;AAAA;AAAA;AAAA,EAKA,QAAA;AAAA,IACA,aAAA,EAAA,SAAA,KAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,eAAAC,EAAA,gBAAA;AAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAAC,MAAAL,EAAA,SAAAK,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAAC,EAAA;AAAA,MACA,WAAA,CAAAC,MAAA,OAAA,OAAAD,CAAA,EAAA,SAAAC,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAAC,EAAA;AAAA,MACA,WAAA,CAAAD,MAAA,OAAA,OAAAC,CAAA,EAAA,SAAAD,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,UAAA;AAAA,MACA,kBAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,gBAAA;AACA,aAAA,KAAA,SAAAD,EAAA;AAAA,IAEA;AAAA,IAEA,oBAAA;AACA,aAAA;AAAA,QACA,GAAA,KAAA;AAAA,QACA,SAAA,CAAAG,MAAA;AACA,UAAA,CAAA,SAAA,OAAA,EAAA,SAAAA,EAAA,KAAA,YAAA,CAAA,KACA,KAAA,QAAAA,CAAA,GAEA,KAAA,MAAA,WAAAA,CAAA;AAAA,QACA;AAAA,QAEA,WAAA,CAAAA,MAAA;AACA,eAAA,aAAAA,CAAA,GACA,KAAA,MAAA,aAAAA,CAAA;AAAA,QACA;AAAA,QAEA,YAAA,CAAAA,MAAA;AACA,eAAA,aAAAA,CAAA,GACA,KAAA,MAAA,cAAAA,CAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,gBAAA;AACA,aAAA,KAAA,cACA,KAAA,eAAA,KAAA,YAAA,IAAA,KAAA,OAAA,KAAA,gBAAA,KAAA,mBAEA;AAAA,IACA;AAAA,IAEA,cAAA;AAEA,aAAA,KAAA,mBAAAD,EAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,cAAA;AACA,aAAA,KAAA,mBAAAA,EAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,QAAA,GAAA;AACA,WAAA,MAAA,SAAA,CAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,WAAA,mBAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,WAAA,mBAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"list-item.js","sources":["../../../components/list_item/list_item.vue"],"sourcesContent":["<template>\n <component\n :is=\"elementType\"\n :id=\"id\"\n :class=\"[\n 'd-list-item',\n {\n 'd-list-item--focusable': isFocusable,\n 'd-list-item--highlighted': isHighlighted,\n 'd-list-item--static': !isHoverable,\n }]\"\n :tabindex=\"isFocusable ? 0 : -1\"\n :role=\"role\"\n :aria-selected=\"role === 'listitem' ? undefined : isHighlighted\"\n v-on=\"listItemListeners\"\n >\n <dt-item-layout\n v-if=\"isDefaultType\"\n unstyled\n :class=\"['d-list-item__wrapper', wrapperClass]\"\n left-class=\"d-list-item__left\"\n content-class=\"d-list-item__content\"\n title-class=\"d-list-item__title\"\n subtitle-class=\"d-list-item__subtitle\"\n bottom-class=\"d-list-item__bottom\"\n right-class=\"d-list-item__right\"\n selected-class=\"d-list-item__selected\"\n data-qa=\"dt-list-item-wrapper\"\n >\n <template\n v-for=\"(_, slotName) in $slots\"\n #[slotName]\n >\n <!-- @slot named slots for custom list items -->\n <slot :name=\"slotName\" />\n </template>\n <template\n v-if=\"selected\"\n #selected\n >\n <dt-icon-check size=\"400\" />\n </template>\n </dt-item-layout>\n <!-- @slot slot for the main content -->\n <slot v-else />\n </component>\n</template>\n\n<script>\nimport {\n LIST_ITEM_TYPES,\n LIST_ITEM_NAVIGATION_TYPES,\n} from './list_item_constants';\nimport utils from '@/common/utils';\nimport { DtIconCheck } from '@dialpad/dialtone-icons/vue2';\nimport { DtItemLayout } from '@/components/item_layout';\n\nconst ROLES = ['listitem', 'menuitem', 'option'];\n\n/**\n * A list item is an element that can be used to represent individual items in a list.\n * @see https://dialtone.dialpad.com/components/list_item.html\n */\nexport default {\n name: 'DtListItem',\n\n components: {\n DtItemLayout,\n DtIconCheck,\n },\n\n /**\n * Value provided from keyboard_list_navigation.js using id prop.\n */\n inject: {\n highlightId: { default: null },\n },\n\n props: {\n /**\n * Id for the item.\n */\n id: {\n type: String,\n default () { return utils.getUniqueString(); },\n },\n\n /**\n * String to use for the item's role.\n */\n role: {\n type: String,\n default: 'listitem',\n validator: (role) => (ROLES).includes(role),\n },\n\n /**\n * HTML element type (tag name) of the content wrapper element.\n */\n elementType: {\n type: String,\n default: 'li',\n },\n\n /**\n * The type of child list item to use.\n * @values default, custom\n */\n type: {\n type: String,\n default: LIST_ITEM_TYPES.DEFAULT,\n validator: (t) => Object.values(LIST_ITEM_TYPES).includes(t),\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.NONE,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * Applies selected styles to the list item\n */\n selected: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Additional Classes to apply to the wrapper element,\n * note: it only applies on \"default\" type\n * Can accept all of: String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n wrapperClass: {\n type: [String, Object, Array],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Key down event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Native mouse move event\n *\n * @event mousemove\n * @type {MouseEvent}\n */\n 'mousemove',\n\n /**\n * Native mouse leave event\n *\n * @event mouseleave\n * @type {MouseEvent}\n */\n 'mouseleave',\n ],\n\n data () {\n return {\n injected: false,\n mouseHighlighted: false,\n };\n },\n\n computed: {\n isDefaultType () {\n return this.type === LIST_ITEM_TYPES.DEFAULT;\n },\n\n listItemListeners () {\n return {\n ...this.$listeners,\n keydown: event => {\n if (['enter', 'space'].includes(event.code.toLowerCase())) {\n this.onClick(event);\n }\n this.$emit('keydown', event);\n },\n\n mousemove: event => {\n this.onMouseHover(event);\n this.$emit('mousemove', event);\n },\n\n mouseleave: event => {\n this.onMouseLeave(event);\n this.$emit('mouseleave', event);\n },\n };\n },\n\n /**\n * For keyboard navigation, whether this item is currently highlighted.\n * An injected highlightId will override the default mouseover highlight.\n */\n isHighlighted () {\n if (this.isHoverable) {\n return this.highlightId && this.highlightId() ? this.id === this.highlightId() : this.mouseHighlighted;\n }\n return false;\n },\n\n isFocusable () {\n // Navigation type has to be set to \"tab\".\n return this.navigationType === LIST_ITEM_NAVIGATION_TYPES.TAB;\n },\n\n /**\n * Whether to apply hover styles.\n */\n isHoverable () {\n return this.navigationType !== LIST_ITEM_NAVIGATION_TYPES.NONE;\n },\n },\n\n methods: {\n onClick (e) {\n this.$emit('click', e);\n },\n\n onMouseHover () {\n this.mouseHighlighted = true;\n },\n\n onMouseLeave () {\n this.mouseHighlighted = false;\n },\n },\n};\n</script>\n"],"names":["ROLES","_sfc_main","DtItemLayout","DtIconCheck","utils","role","LIST_ITEM_TYPES","t","LIST_ITEM_NAVIGATION_TYPES","event"],"mappings":";;;;;AAyDA,MAAAA,IAAA,CAAA,YAAA,YAAA,QAAA,GAMAC,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,cAAAC;AAAA,IACA,aAAAC;AAAA,EACA;AAAA;AAAA;AAAA;AAAA,EAKA,QAAA;AAAA,IACA,aAAA,EAAA,SAAA,KAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,eAAAC,EAAA,gBAAA;AAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAAC,MAAAL,EAAA,SAAAK,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAAC,EAAA;AAAA,MACA,WAAA,CAAAC,MAAA,OAAA,OAAAD,CAAA,EAAA,SAAAC,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAAC,EAAA;AAAA,MACA,WAAA,CAAAD,MAAA,OAAA,OAAAC,CAAA,EAAA,SAAAD,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,cAAA;AAAA,MACA,MAAA,CAAA,QAAA,QAAA,KAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,UAAA;AAAA,MACA,kBAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,gBAAA;AACA,aAAA,KAAA,SAAAD,EAAA;AAAA,IACA;AAAA,IAEA,oBAAA;AACA,aAAA;AAAA,QACA,GAAA,KAAA;AAAA,QACA,SAAA,CAAAG,MAAA;AACA,UAAA,CAAA,SAAA,OAAA,EAAA,SAAAA,EAAA,KAAA,YAAA,CAAA,KACA,KAAA,QAAAA,CAAA,GAEA,KAAA,MAAA,WAAAA,CAAA;AAAA,QACA;AAAA,QAEA,WAAA,CAAAA,MAAA;AACA,eAAA,aAAAA,CAAA,GACA,KAAA,MAAA,aAAAA,CAAA;AAAA,QACA;AAAA,QAEA,YAAA,CAAAA,MAAA;AACA,eAAA,aAAAA,CAAA,GACA,KAAA,MAAA,cAAAA,CAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,gBAAA;AACA,aAAA,KAAA,cACA,KAAA,eAAA,KAAA,YAAA,IAAA,KAAA,OAAA,KAAA,gBAAA,KAAA,mBAEA;AAAA,IACA;AAAA,IAEA,cAAA;AAEA,aAAA,KAAA,mBAAAD,EAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,cAAA;AACA,aAAA,KAAA,mBAAAA,EAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,QAAA,GAAA;AACA,WAAA,MAAA,SAAA,CAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,WAAA,mBAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,WAAA,mBAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./loader.cjs");exports.DtLoader=e.default;
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { default as o } from "./loader.js";
2
+ export {
3
+ o as DtLoader
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("@dialpad/dialtone-icons/vue2"),i=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),n=require("../../common/mixins/localization.cjs"),o=require("../icon/icon-constants.cjs"),s={name:"DtLoader",components:{DtIconLoading:r.DtIconLoading},mixins:[n.default],props:{ariaLabel:{type:String,default:""},size:{type:String,default:"500",validator:t=>Object.keys(o.ICON_SIZE_MODIFIERS).includes(t)}},computed:{loaderText(){return this.ariaLabel||this.i18n.$t("DIALTONE_LOADING")}}};var d=function(){var e=this,a=e._self._c;return a("div",{staticClass:"d-loader",attrs:{"aria-label":e.loaderText,"data-qa":"dt-loader"}},[a("dt-icon-loading",{staticClass:"d-loader-icon",attrs:{"data-qa":"dt-loader-icon",size:e.size}})],1)},c=[],l=i.n(s,d,c);const _=l.exports;exports.default=_;
2
+ //# sourceMappingURL=loader.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.cjs","sources":["../../../components/loader/loader.vue"],"sourcesContent":["<template>\n <div\n class=\"d-loader\"\n :aria-label=\"loaderText\"\n data-qa=\"dt-loader\"\n >\n <dt-icon-loading\n class=\"d-loader-icon\"\n data-qa=\"dt-loader-icon\"\n :size=\"size\"\n />\n </div>\n</template>\n\n<script>\nimport { DtIconLoading } from '@dialpad/dialtone-icons/vue2';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon';\nimport { DtLocalizationMixin } from '@/common/mixins';\n\nexport default {\n name: 'DtLoader',\n\n components: {\n DtIconLoading,\n },\n\n mixins: [DtLocalizationMixin],\n\n props: {\n /**\n * The label of the loader as read out by a screen reader.\n * Default is \"loading\"\n */\n ariaLabel: {\n type: String,\n default: '',\n },\n\n /**\n * The size of the icon.\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: String,\n default: '500',\n validator: (s) => Object.keys(ICON_SIZE_MODIFIERS).includes(s),\n },\n },\n\n computed: {\n loaderText () {\n return this.ariaLabel || this.i18n.$t('DIALTONE_LOADING');\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtIconLoading","DtLocalizationMixin","s","ICON_SIZE_MODIFIERS"],"mappings":"8SAmBAA,EAAA,CACA,KAAA,WAEA,WAAA,CACA,cAAAC,EAAA,aACA,EAEA,OAAA,CAAAC,EAAAA,OAAA,EAEA,MAAA,CAKA,UAAA,CACA,KAAA,OACA,QAAA,EACA,EAMA,KAAA,CACA,KAAA,OACA,QAAA,MACA,UAAAC,GAAA,OAAA,KAAAC,qBAAA,EAAA,SAAAD,CAAA,CACA,CACA,EAEA,SAAA,CACA,YAAA,CACA,OAAA,KAAA,WAAA,KAAA,KAAA,GAAA,kBAAA,CACA,CACA,CACA"}
@@ -0,0 +1,48 @@
1
+ import { DtIconLoading as r } from "@dialpad/dialtone-icons/vue2";
2
+ import { n as o } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
3
+ import i from "../../common/mixins/localization.js";
4
+ import { ICON_SIZE_MODIFIERS as n } from "../icon/icon-constants.js";
5
+ const s = {
6
+ name: "DtLoader",
7
+ components: {
8
+ DtIconLoading: r
9
+ },
10
+ mixins: [i],
11
+ props: {
12
+ /**
13
+ * The label of the loader as read out by a screen reader.
14
+ * Default is "loading"
15
+ */
16
+ ariaLabel: {
17
+ type: String,
18
+ default: ""
19
+ },
20
+ /**
21
+ * The size of the icon.
22
+ * @values 100, 200, 300, 400, 500, 600, 700, 800
23
+ */
24
+ size: {
25
+ type: String,
26
+ default: "500",
27
+ validator: (a) => Object.keys(n).includes(a)
28
+ }
29
+ },
30
+ computed: {
31
+ loaderText() {
32
+ return this.ariaLabel || this.i18n.$t("DIALTONE_LOADING");
33
+ }
34
+ }
35
+ };
36
+ var d = function() {
37
+ var t = this, e = t._self._c;
38
+ return e("div", { staticClass: "d-loader", attrs: { "aria-label": t.loaderText, "data-qa": "dt-loader" } }, [e("dt-icon-loading", { staticClass: "d-loader-icon", attrs: { "data-qa": "dt-loader-icon", size: t.size } })], 1);
39
+ }, l = [], c = /* @__PURE__ */ o(
40
+ s,
41
+ d,
42
+ l
43
+ );
44
+ const u = c.exports;
45
+ export {
46
+ u as default
47
+ };
48
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sources":["../../../components/loader/loader.vue"],"sourcesContent":["<template>\n <div\n class=\"d-loader\"\n :aria-label=\"loaderText\"\n data-qa=\"dt-loader\"\n >\n <dt-icon-loading\n class=\"d-loader-icon\"\n data-qa=\"dt-loader-icon\"\n :size=\"size\"\n />\n </div>\n</template>\n\n<script>\nimport { DtIconLoading } from '@dialpad/dialtone-icons/vue2';\nimport { ICON_SIZE_MODIFIERS } from '@/components/icon';\nimport { DtLocalizationMixin } from '@/common/mixins';\n\nexport default {\n name: 'DtLoader',\n\n components: {\n DtIconLoading,\n },\n\n mixins: [DtLocalizationMixin],\n\n props: {\n /**\n * The label of the loader as read out by a screen reader.\n * Default is \"loading\"\n */\n ariaLabel: {\n type: String,\n default: '',\n },\n\n /**\n * The size of the icon.\n * @values 100, 200, 300, 400, 500, 600, 700, 800\n */\n size: {\n type: String,\n default: '500',\n validator: (s) => Object.keys(ICON_SIZE_MODIFIERS).includes(s),\n },\n },\n\n computed: {\n loaderText () {\n return this.ariaLabel || this.i18n.$t('DIALTONE_LOADING');\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtIconLoading","DtLocalizationMixin","s","ICON_SIZE_MODIFIERS"],"mappings":";;;;AAmBA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,eAAAC;AAAA,EACA;AAAA,EAEA,QAAA,CAAAC,CAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAAC,MAAA,OAAA,KAAAC,CAAA,EAAA,SAAAD,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,aAAA;AACA,aAAA,KAAA,aAAA,KAAA,KAAA,GAAA,kBAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("@dialpad/dialtone-icons/vue2"),a=require("./message-input-button.cjs"),l=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),s=require("../popover/popover.cjs"),u=require("../input/input.cjs"),r=require("../button/button.cjs"),p=require("../stack/stack.cjs"),c={name:"MessageInputLink",components:{DtPopover:s.default,DtInput:u.default,DtButton:r.default,DtStack:p.default,DtIconLink2:o.DtIconLink2,DtRecipeMessageInputButton:a.default},props:{open:{type:Boolean,default:!1},linkButtonOptions:{type:Object,required:!0},isSelectionActive:{type:Function,default:()=>{}}},emits:["set-link","remove-link","opened"],data(){return{linkText:"",linkInput:"",isOpen:!1}},watch:{open:{immediate:!0,handler(i){this.isOpen=i}}},methods:{setInitialValues(i,t){this.linkText=i,this.linkInput=t}}};var k=function(){var t=this,e=t._self._c;return e("dt-popover",{attrs:{open:t.isOpen,placement:"bottom-start","content-class":"d-recipe-message-input__link-popover","visually-hidden-close":!0,"visually-hidden-close-label":t.linkButtonOptions.visuallyHiddenCloseText,"data-qa":"dt-message-input-link-popover","show-close-button":!1},on:{opened:function(n){return t.$emit("opened",n)}},scopedSlots:t._u([{key:"anchor",fn:function(){return[e("dt-recipe-message-input-button",{attrs:{"aria-label":t.linkButtonOptions.ariaLabel,"tooltip-text":t.linkButtonOptions.tooltipText,"keyboard-shortcut-text":t.linkButtonOptions.keyboardShortcutText,"data-qa":"message-input-link-btn","is-active":t.isSelectionActive("link")},on:{click:function(n){t.isOpen=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("dt-icon-link2",{staticClass:"d-recipe-message-input__button-stack-icon",attrs:{size:"200"}})]},proxy:!0}])})]},proxy:!0},{key:"content",fn:function(){return[e("dt-stack",{attrs:{gap:"500"}},[t.linkButtonOptions.dialogTitle.length>0?e("div",{staticClass:"d-recipe-message-input__link-dialog-title"},[t._v(" "+t._s(t.linkButtonOptions.dialogTitle)+" ")]):t._e(),e("dt-input",{attrs:{"input-aria-label":t.linkButtonOptions.textLabel,size:"xs","data-qa":"dt-message-input-link-text-input",label:t.linkButtonOptions.textLabel,"input-wrapper-class":"d-recipe-message-input__link-input"},on:{click:function(n){n.stopPropagation()},focus:function(n){n.stopPropagation()},keydown:function(n){return!n.type.indexOf("key")&&t._k(n.keyCode,"enter",13,n.key,"Enter")?null:t.$emit("set-link",t.linkText,t.linkInput)}},nativeOn:{click:function(n){n.stopPropagation()}},model:{value:t.linkText,callback:function(n){t.linkText=n},expression:"linkText"}}),e("dt-input",{attrs:{"input-aria-label":t.linkButtonOptions.linkLabel,size:"xs","data-qa":"dt-message-input-link-input",placeholder:t.linkButtonOptions.linkPlaceholder,label:t.linkButtonOptions.linkLabel,"input-wrapper-class":"d-recipe-message-input__link-input"},on:{click:function(n){n.stopPropagation()},focus:function(n){n.stopPropagation()},keydown:function(n){return!n.type.indexOf("key")&&t._k(n.keyCode,"enter",13,n.key,"Enter")?null:t.$emit("set-link",t.linkText,t.linkInput)}},nativeOn:{click:function(n){n.stopPropagation()}},model:{value:t.linkInput,callback:function(n){t.linkInput=n},expression:"linkInput"}}),e("dt-stack",{staticClass:"d-recipe-message-input__link-dialog-buttons",attrs:{direction:"row"}},[e("dt-button",{attrs:{"aria-label":t.linkButtonOptions.removeLabel,importance:"clear",kind:"danger",size:"md","data-qa":"dt-message-input-link-remove-btn"},on:{click:function(n){return t.$emit("remove-link",t.linkText,t.linkInput)}}},[t._v(" "+t._s(t.linkButtonOptions.removeLabel)+" ")]),e("dt-stack",{attrs:{direction:"row",gap:"400"}},[e("dt-button",{attrs:{"aria-label":t.linkButtonOptions.cancelLabel,importance:"clear",kind:"muted",size:"md","data-qa":"dt-message-input-link-cancel-btn"},on:{click:function(n){t.isOpen=!1}}},[t._v(" "+t._s(t.linkButtonOptions.cancelLabel)+" ")]),e("dt-button",{attrs:{size:"md","aria-label":t.linkButtonOptions.confirmLabel,"data-qa":"dt-message-input-link-confirm-btn"},on:{click:function(n){return t.$emit("set-link",t.linkText,t.linkInput)}}},[t._v(" "+t._s(t.linkButtonOptions.confirmLabel)+" ")])],1)],1)],1)]},proxy:!0}])})},d=[],_=l.n(c,k,d);const m=_.exports;exports.default=m;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("@dialpad/dialtone-icons/vue2"),o=require("./message-input-button.cjs"),l=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),r=require("../popover/popover.cjs"),u=require("../input/input.cjs"),s=require("../button/button.cjs"),c=require("../stack/stack.cjs"),p=require("../../common/mixins/localization.cjs"),_={name:"MessageInputLink",components:{DtPopover:r.default,DtInput:u.default,DtButton:s.default,DtStack:c.default,DtIconLink2:a.DtIconLink2,DtRecipeMessageInputButton:o.default},mixins:[p.default],props:{open:{type:Boolean,default:!1},linkButtonOptions:{type:Object,required:!0},isSelectionActive:{type:Function,default:()=>{}}},emits:["set-link","remove-link","opened"],data(){return{linkText:"",linkInput:"",isOpen:!1}},computed:{anchorButtonLabel(){return this.i18n.$ta("DIALTONE_MESSAGE_INPUT_LINK_BUTTON_LABEL")},textInputLabel(){return this.i18n.$t("DIALTONE_MESSAGE_INPUT_LINK_TEXT_LABEL")},linkInputLabel(){return this.i18n.$t("DIALTONE_MESSAGE_INPUT_LINK_LINK_LABEL")},linkInputPlaceHolder(){return this.i18n.$t("DIALTONE_MESSAGE_INPUT_LINK_LINK_PLACEHOLDER")},removeButtonLabel(){return this.i18n.$t("DIALTONE_MESSAGE_INPUT_LINK_REMOVE_LABEL")},cancelButtonLabel(){return this.i18n.$t("DIALTONE_MESSAGE_INPUT_LINK_CANCEL_LABEL")},confirmButtonLabel(){return this.i18n.$t("DIALTONE_MESSAGE_INPUT_LINK_CONFIRM_LABEL")}},watch:{open:{immediate:!0,handler(i){this.isOpen=i}}},methods:{setInitialValues(i,t){this.linkText=i,this.linkInput=t}}};var k=function(){var t=this,n=t._self._c;return n("dt-popover",{attrs:{open:t.isOpen,placement:"bottom-start","content-class":"d-recipe-message-input__link-popover","data-qa":"dt-message-input-link-popover","show-close-button":!1},on:{opened:function(e){return t.$emit("opened",e)}},scopedSlots:t._u([{key:"anchor",fn:function(){return[n("dt-recipe-message-input-button",{attrs:{"aria-label":t.anchorButtonLabel["aria-label"],"tooltip-text":t.anchorButtonLabel["tooltip-text"],"keyboard-shortcut-text":t.linkButtonOptions.keyboardShortcutText,"data-qa":"message-input-link-btn","is-active":t.isSelectionActive("link")},on:{click:function(e){t.isOpen=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[n("dt-icon-link2",{staticClass:"d-recipe-message-input__button-stack-icon",attrs:{size:"200"}})]},proxy:!0}])})]},proxy:!0},{key:"content",fn:function(){return[n("dt-stack",{attrs:{gap:"500"}},[n("div",{staticClass:"d-recipe-message-input__link-dialog-title"},[t._v(" "+t._s(t.i18n.$t("DIALTONE_MESSAGE_INPUT_LINK_DIALOG_TITLE"))+" ")]),n("dt-input",{attrs:{"input-aria-label":t.textInputLabel,size:"xs","data-qa":"dt-message-input-link-text-input",label:t.textInputLabel,"input-wrapper-class":"d-recipe-message-input__link-input"},on:{click:function(e){e.stopPropagation()},focus:function(e){e.stopPropagation()},keydown:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.$emit("set-link",t.linkText,t.linkInput)}},nativeOn:{click:function(e){e.stopPropagation()}},model:{value:t.linkText,callback:function(e){t.linkText=e},expression:"linkText"}}),n("dt-input",{attrs:{"input-aria-label":t.linkInputLabel,size:"xs","data-qa":"dt-message-input-link-input",placeholder:t.linkInputPlaceHolder,label:t.linkInputLabel,"input-wrapper-class":"d-recipe-message-input__link-input"},on:{click:function(e){e.stopPropagation()},focus:function(e){e.stopPropagation()},keydown:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.$emit("set-link",t.linkText,t.linkInput)}},nativeOn:{click:function(e){e.stopPropagation()}},model:{value:t.linkInput,callback:function(e){t.linkInput=e},expression:"linkInput"}}),n("dt-stack",{staticClass:"d-recipe-message-input__link-dialog-buttons",attrs:{direction:"row"}},[n("dt-button",{attrs:{"aria-label":t.removeButtonLabel,title:t.removeButtonLabel,importance:"clear",kind:"danger",size:"md","data-qa":"dt-message-input-link-remove-btn"},on:{click:function(e){return t.$emit("remove-link",t.linkText,t.linkInput)}}},[t._v(" "+t._s(t.removeButtonLabel)+" ")]),n("dt-stack",{attrs:{direction:"row",gap:"400"}},[n("dt-button",{attrs:{"aria-label":t.cancelButtonLabel,title:t.cancelButtonLabel,importance:"clear",kind:"muted",size:"md","data-qa":"dt-message-input-link-cancel-btn"},on:{click:function(e){t.isOpen=!1}}},[t._v(" "+t._s(t.cancelButtonLabel)+" ")]),n("dt-button",{attrs:{size:"md","aria-label":t.confirmButtonLabel,title:t.confirmButtonLabel,"data-qa":"dt-message-input-link-confirm-btn"},on:{click:function(e){return t.$emit("set-link",t.linkText,t.linkInput)}}},[t._v(" "+t._s(t.confirmButtonLabel)+" ")])],1)],1)],1)]},proxy:!0}])})},d=[],L=l.n(_,k,d);const m=L.exports;exports.default=m;
2
2
  //# sourceMappingURL=message-input-link.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-input-link.cjs","sources":["../../../recipes/conversation_view/message_input/message_input_link.vue"],"sourcesContent":["<template>\n <dt-popover\n :open=\"isOpen\"\n placement=\"bottom-start\"\n content-class=\"d-recipe-message-input__link-popover\"\n :visually-hidden-close=\"true\"\n :visually-hidden-close-label=\"linkButtonOptions.visuallyHiddenCloseText\"\n data-qa=\"dt-message-input-link-popover\"\n :show-close-button=\"false\"\n @opened=\"$emit('opened', $event)\"\n >\n <template #anchor>\n <dt-recipe-message-input-button\n :aria-label=\"linkButtonOptions.ariaLabel\"\n :tooltip-text=\"linkButtonOptions.tooltipText\"\n :keyboard-shortcut-text=\"linkButtonOptions.keyboardShortcutText\"\n data-qa=\"message-input-link-btn\"\n :is-active=\"isSelectionActive('link')\"\n @click=\"isOpen = true\"\n >\n <template #icon>\n <dt-icon-link2\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n </template>\n\n <template #content>\n <dt-stack gap=\"500\">\n <div\n v-if=\"linkButtonOptions.dialogTitle.length > 0\"\n class=\"d-recipe-message-input__link-dialog-title\"\n >\n {{ linkButtonOptions.dialogTitle }}\n </div>\n <dt-input\n v-model=\"linkText\"\n :input-aria-label=\"linkButtonOptions.textLabel\"\n size=\"xs\"\n data-qa=\"dt-message-input-link-text-input\"\n :label=\"linkButtonOptions.textLabel\"\n input-wrapper-class=\"d-recipe-message-input__link-input\"\n @click.stop\n @click.native.stop\n @focus.stop\n @keydown.enter=\"$emit('set-link', linkText, linkInput)\"\n />\n <dt-input\n v-model=\"linkInput\"\n :input-aria-label=\"linkButtonOptions.linkLabel\"\n size=\"xs\"\n data-qa=\"dt-message-input-link-input\"\n :placeholder=\"linkButtonOptions.linkPlaceholder\"\n :label=\"linkButtonOptions.linkLabel\"\n input-wrapper-class=\"d-recipe-message-input__link-input\"\n @click.stop\n @click.native.stop\n @focus.stop\n @keydown.enter=\"$emit('set-link', linkText, linkInput)\"\n />\n <dt-stack\n direction=\"row\"\n class=\"d-recipe-message-input__link-dialog-buttons\"\n >\n <dt-button\n :aria-label=\"linkButtonOptions.removeLabel\"\n importance=\"clear\"\n kind=\"danger\"\n size=\"md\"\n data-qa=\"dt-message-input-link-remove-btn\"\n @click=\"$emit('remove-link', linkText, linkInput)\"\n >\n {{ linkButtonOptions.removeLabel }}\n </dt-button>\n <dt-stack\n direction=\"row\"\n gap=\"400\"\n >\n <dt-button\n :aria-label=\"linkButtonOptions.cancelLabel\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"md\"\n data-qa=\"dt-message-input-link-cancel-btn\"\n @click=\"isOpen = false\"\n >\n {{ linkButtonOptions.cancelLabel }}\n </dt-button>\n <dt-button\n size=\"md\"\n :aria-label=\"linkButtonOptions.confirmLabel\"\n data-qa=\"dt-message-input-link-confirm-btn\"\n @click=\"$emit('set-link', linkText, linkInput)\"\n >\n {{ linkButtonOptions.confirmLabel }}\n </dt-button>\n </dt-stack>\n </dt-stack>\n </dt-stack>\n </template>\n </dt-popover>\n</template>\n\n<script>\nimport { DtPopover } from '@/components/popover';\nimport { DtInput } from '@/components/input';\nimport { DtButton } from '@/components/button';\nimport { DtStack } from '@/components/stack';\nimport { DtIconLink2 } from '@dialpad/dialtone-icons/vue2';\nimport DtRecipeMessageInputButton from './message_input_button.vue';\nexport default {\n name: 'MessageInputLink',\n\n components: {\n DtPopover,\n DtInput,\n DtButton,\n DtStack,\n DtIconLink2,\n DtRecipeMessageInputButton,\n },\n\n props: {\n open: {\n type: Boolean,\n default: false,\n },\n\n linkButtonOptions: {\n type: Object,\n required: true,\n },\n\n isSelectionActive: {\n type: Function,\n default: () => {},\n },\n },\n\n emits: ['set-link', 'remove-link', 'opened'],\n\n data () {\n return {\n linkText: '',\n linkInput: '',\n isOpen: false,\n };\n },\n\n watch: {\n open: {\n immediate: true,\n handler (value) {\n this.isOpen = value;\n },\n },\n },\n\n methods: {\n setInitialValues (linkText, linkInput) {\n this.linkText = linkText;\n this.linkInput = linkInput;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtPopover","DtInput","DtButton","DtStack","DtIconLink2","DtRecipeMessageInputButton","value","linkText","linkInput"],"mappings":"kYAgHAA,EAAA,CACA,KAAA,mBAEA,WAAA,CACA,UAAAC,EAAA,QACA,QAAAC,EAAA,QACA,SAAAC,EAAA,QACA,QAAAC,EAAA,QACA,YAAAC,EAAA,YACA,2BAAAC,EAAA,OACA,EAEA,MAAA,CACA,KAAA,CACA,KAAA,QACA,QAAA,EACA,EAEA,kBAAA,CACA,KAAA,OACA,SAAA,EACA,EAEA,kBAAA,CACA,KAAA,SACA,QAAA,IAAA,CAAA,CACA,CACA,EAEA,MAAA,CAAA,WAAA,cAAA,QAAA,EAEA,MAAA,CACA,MAAA,CACA,SAAA,GACA,UAAA,GACA,OAAA,EACA,CACA,EAEA,MAAA,CACA,KAAA,CACA,UAAA,GACA,QAAAC,EAAA,CACA,KAAA,OAAAA,CACA,CACA,CACA,EAEA,QAAA,CACA,iBAAAC,EAAAC,EAAA,CACA,KAAA,SAAAD,EACA,KAAA,UAAAC,CACA,CACA,CACA"}
1
+ {"version":3,"file":"message-input-link.cjs","sources":["../../../recipes/conversation_view/message_input/message_input_link.vue"],"sourcesContent":["<template>\n <dt-popover\n :open=\"isOpen\"\n placement=\"bottom-start\"\n content-class=\"d-recipe-message-input__link-popover\"\n data-qa=\"dt-message-input-link-popover\"\n :show-close-button=\"false\"\n @opened=\"$emit('opened', $event)\"\n >\n <template #anchor>\n <dt-recipe-message-input-button\n :aria-label=\"anchorButtonLabel['aria-label']\"\n :tooltip-text=\"anchorButtonLabel['tooltip-text']\"\n :keyboard-shortcut-text=\"linkButtonOptions.keyboardShortcutText\"\n data-qa=\"message-input-link-btn\"\n :is-active=\"isSelectionActive('link')\"\n @click=\"isOpen = true\"\n >\n <template #icon>\n <dt-icon-link2\n class=\"d-recipe-message-input__button-stack-icon\"\n size=\"200\"\n />\n </template>\n </dt-recipe-message-input-button>\n </template>\n\n <template #content>\n <dt-stack gap=\"500\">\n <div\n class=\"d-recipe-message-input__link-dialog-title\"\n >\n {{ i18n.$t('DIALTONE_MESSAGE_INPUT_LINK_DIALOG_TITLE') }}\n </div>\n <dt-input\n v-model=\"linkText\"\n :input-aria-label=\"textInputLabel\"\n size=\"xs\"\n data-qa=\"dt-message-input-link-text-input\"\n :label=\"textInputLabel\"\n input-wrapper-class=\"d-recipe-message-input__link-input\"\n @click.stop\n @click.native.stop\n @focus.stop\n @keydown.enter=\"$emit('set-link', linkText, linkInput)\"\n />\n <dt-input\n v-model=\"linkInput\"\n :input-aria-label=\"linkInputLabel\"\n size=\"xs\"\n data-qa=\"dt-message-input-link-input\"\n :placeholder=\"linkInputPlaceHolder\"\n :label=\"linkInputLabel\"\n input-wrapper-class=\"d-recipe-message-input__link-input\"\n @click.stop\n @click.native.stop\n @focus.stop\n @keydown.enter=\"$emit('set-link', linkText, linkInput)\"\n />\n <dt-stack\n direction=\"row\"\n class=\"d-recipe-message-input__link-dialog-buttons\"\n >\n <dt-button\n :aria-label=\"removeButtonLabel\"\n :title=\"removeButtonLabel\"\n importance=\"clear\"\n kind=\"danger\"\n size=\"md\"\n data-qa=\"dt-message-input-link-remove-btn\"\n @click=\"$emit('remove-link', linkText, linkInput)\"\n >\n {{ removeButtonLabel }}\n </dt-button>\n <dt-stack\n direction=\"row\"\n gap=\"400\"\n >\n <dt-button\n :aria-label=\"cancelButtonLabel\"\n :title=\"cancelButtonLabel\"\n importance=\"clear\"\n kind=\"muted\"\n size=\"md\"\n data-qa=\"dt-message-input-link-cancel-btn\"\n @click=\"isOpen = false\"\n >\n {{ cancelButtonLabel }}\n </dt-button>\n <dt-button\n size=\"md\"\n :aria-label=\"confirmButtonLabel\"\n :title=\"confirmButtonLabel\"\n data-qa=\"dt-message-input-link-confirm-btn\"\n @click=\"$emit('set-link', linkText, linkInput)\"\n >\n {{ confirmButtonLabel }}\n </dt-button>\n </dt-stack>\n </dt-stack>\n </dt-stack>\n </template>\n </dt-popover>\n</template>\n\n<script>\nimport { DtPopover } from '@/components/popover';\nimport { DtInput } from '@/components/input';\nimport { DtButton } from '@/components/button';\nimport { DtStack } from '@/components/stack';\nimport { DtIconLink2 } from '@dialpad/dialtone-icons/vue2';\nimport DtRecipeMessageInputButton from './message_input_button.vue';\nimport { DtLocalizationMixin } from '@/common/mixins';\n\nexport default {\n name: 'MessageInputLink',\n\n components: {\n DtPopover,\n DtInput,\n DtButton,\n DtStack,\n DtIconLink2,\n DtRecipeMessageInputButton,\n },\n\n mixins: [DtLocalizationMixin],\n\n props: {\n open: {\n type: Boolean,\n default: false,\n },\n\n linkButtonOptions: {\n type: Object,\n required: true,\n },\n\n isSelectionActive: {\n type: Function,\n default: () => {},\n },\n },\n\n emits: ['set-link', 'remove-link', 'opened'],\n\n data () {\n return {\n linkText: '',\n linkInput: '',\n isOpen: false,\n };\n },\n\n computed: {\n anchorButtonLabel () { return this.i18n.$ta('DIALTONE_MESSAGE_INPUT_LINK_BUTTON_LABEL'); },\n textInputLabel () { return this.i18n.$t('DIALTONE_MESSAGE_INPUT_LINK_TEXT_LABEL'); },\n linkInputLabel () { return this.i18n.$t('DIALTONE_MESSAGE_INPUT_LINK_LINK_LABEL'); },\n linkInputPlaceHolder () { return this.i18n.$t('DIALTONE_MESSAGE_INPUT_LINK_LINK_PLACEHOLDER'); },\n removeButtonLabel () { return this.i18n.$t('DIALTONE_MESSAGE_INPUT_LINK_REMOVE_LABEL'); },\n cancelButtonLabel () { return this.i18n.$t('DIALTONE_MESSAGE_INPUT_LINK_CANCEL_LABEL'); },\n confirmButtonLabel () { return this.i18n.$t('DIALTONE_MESSAGE_INPUT_LINK_CONFIRM_LABEL'); },\n },\n\n watch: {\n open: {\n immediate: true,\n handler (value) {\n this.isOpen = value;\n },\n },\n },\n\n methods: {\n setInitialValues (linkText, linkInput) {\n this.linkText = linkText;\n this.linkInput = linkInput;\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtPopover","DtInput","DtButton","DtStack","DtIconLink2","DtRecipeMessageInputButton","DtLocalizationMixin","value","linkText","linkInput"],"mappings":"obAkHAA,EAAA,CACA,KAAA,mBAEA,WAAA,CACA,UAAAC,EAAA,QACA,QAAAC,EAAA,QACA,SAAAC,EAAA,QACA,QAAAC,EAAA,QACA,YAAAC,EAAA,YACA,2BAAAC,EAAA,OACA,EAEA,OAAA,CAAAC,EAAAA,OAAA,EAEA,MAAA,CACA,KAAA,CACA,KAAA,QACA,QAAA,EACA,EAEA,kBAAA,CACA,KAAA,OACA,SAAA,EACA,EAEA,kBAAA,CACA,KAAA,SACA,QAAA,IAAA,CAAA,CACA,CACA,EAEA,MAAA,CAAA,WAAA,cAAA,QAAA,EAEA,MAAA,CACA,MAAA,CACA,SAAA,GACA,UAAA,GACA,OAAA,EACA,CACA,EAEA,SAAA,CACA,mBAAA,CAAA,OAAA,KAAA,KAAA,IAAA,0CAAA,CAAA,EACA,gBAAA,CAAA,OAAA,KAAA,KAAA,GAAA,wCAAA,CAAA,EACA,gBAAA,CAAA,OAAA,KAAA,KAAA,GAAA,wCAAA,CAAA,EACA,sBAAA,CAAA,OAAA,KAAA,KAAA,GAAA,8CAAA,CAAA,EACA,mBAAA,CAAA,OAAA,KAAA,KAAA,GAAA,0CAAA,CAAA,EACA,mBAAA,CAAA,OAAA,KAAA,KAAA,GAAA,0CAAA,CAAA,EACA,oBAAA,CAAA,OAAA,KAAA,KAAA,GAAA,2CAAA,CAAA,CACA,EAEA,MAAA,CACA,KAAA,CACA,UAAA,GACA,QAAAC,EAAA,CACA,KAAA,OAAAA,CACA,CACA,CACA,EAEA,QAAA,CACA,iBAAAC,EAAAC,EAAA,CACA,KAAA,SAAAD,EACA,KAAA,UAAAC,CACA,CACA,CACA"}