@dialpad/dialtone 9.66.0 → 9.67.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 (801) hide show
  1. package/README.md +17 -0
  2. package/dist/tokens/doc.json +13063 -13063
  3. package/dist/vue2/chunks/{dropdown-YdCyJ5Dq.js → dropdown-6UoczdUY.js} +41 -77
  4. package/dist/vue2/chunks/{dropdown-YdCyJ5Dq.js.map → dropdown-6UoczdUY.js.map} +1 -1
  5. package/dist/vue2/chunks/{dropdown-mjrYu_mK.js → dropdown-pHxnQPzT.js} +41 -77
  6. package/dist/vue2/chunks/{dropdown-mjrYu_mK.js.map → dropdown-pHxnQPzT.js.map} +1 -1
  7. package/dist/vue2/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  8. package/dist/vue2/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  9. package/dist/vue2/chunks/{icon_constants-TdxqLsS2.js → icon_constants-Dy4MEUJL.js} +2 -3
  10. package/dist/vue2/chunks/icon_constants-Dy4MEUJL.js.map +1 -0
  11. package/dist/vue2/chunks/{icon_constants-VEA0wI5C.js → icon_constants-QYpmdE0R.js} +2 -3
  12. package/dist/vue2/chunks/icon_constants-QYpmdE0R.js.map +1 -0
  13. package/dist/vue2/chunks/{index-i65YVk-U.js → index-ODod4Oj_.js} +13 -5
  14. package/dist/vue2/chunks/{index-i65YVk-U.js.map → index-ODod4Oj_.js.map} +1 -1
  15. package/dist/vue2/chunks/{index-NYFNZeHH.js → index-anN_sx1F.js} +13 -5
  16. package/dist/vue2/chunks/{index-NYFNZeHH.js.map → index-anN_sx1F.js.map} +1 -1
  17. package/dist/vue2/chunks/{index-mBWay1Qb.js → index-eJ-WWRdf.js} +87 -122
  18. package/dist/vue2/chunks/{index-mBWay1Qb.js.map → index-eJ-WWRdf.js.map} +1 -1
  19. package/dist/vue2/chunks/{index-DyqUqjvI.js → index-gj1jEXP4.js} +87 -122
  20. package/dist/vue2/chunks/{index-DyqUqjvI.js.map → index-gj1jEXP4.js.map} +1 -1
  21. package/dist/vue2/chunks/{input-PhJeBN6r.js → input-6kbd8Pju.js} +9 -3
  22. package/dist/vue2/chunks/{input-PhJeBN6r.js.map → input-6kbd8Pju.js.map} +1 -1
  23. package/dist/vue2/chunks/{input-Hqw33WBe.js → input-Axw-wFj2.js} +9 -3
  24. package/dist/vue2/chunks/{input-Hqw33WBe.js.map → input-Axw-wFj2.js.map} +1 -1
  25. package/dist/vue2/chunks/{input_group-pE6ec9R3.js → input_group-m3cWYUfI.js} +2 -4
  26. package/dist/vue2/chunks/{input_group-ZI7aVGEp.js.map → input_group-m3cWYUfI.js.map} +1 -1
  27. package/dist/vue2/chunks/{input_group-ZI7aVGEp.js → input_group-qVZaS5Bb.js} +2 -4
  28. package/dist/vue2/chunks/{input_group-pE6ec9R3.js.map → input_group-qVZaS5Bb.js.map} +1 -1
  29. package/dist/vue2/chunks/{keyboard_list_navigation-YIqTuw1W.js → keyboard_list_navigation-ScXhrxya.js} +5 -6
  30. package/dist/{vue3/chunks/keyboard_list_navigation-x3D6RcC7.js.map → vue2/chunks/keyboard_list_navigation-ScXhrxya.js.map} +1 -1
  31. package/dist/vue2/chunks/{keyboard_list_navigation-x3D6RcC7.js → keyboard_list_navigation-fJnl_Iox.js} +5 -6
  32. package/dist/{vue3/chunks/keyboard_list_navigation-YIqTuw1W.js.map → vue2/chunks/keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
  33. package/dist/vue2/chunks/link_constants-AfTWrr-n.js.map +1 -1
  34. package/dist/vue2/chunks/link_constants-x8NwdqmA.js.map +1 -1
  35. package/dist/vue2/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  36. package/dist/vue2/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  37. package/dist/vue2/chunks/{modal-OaWxzqNt.js → modal-VgxXAQFP.js} +2 -4
  38. package/dist/vue2/chunks/{modal-OaWxzqNt.js.map → modal-VgxXAQFP.js.map} +1 -1
  39. package/dist/vue2/chunks/{modal-8X6poIZW.js → modal-XOr4kiNZ.js} +2 -4
  40. package/dist/{vue3/chunks/modal-OaWxzqNt.js.map → vue2/chunks/modal-XOr4kiNZ.js.map} +1 -1
  41. package/dist/vue2/chunks/{notice_action-qQr3K2TC.js → notice_action-IRUoLX2d.js} +46 -71
  42. package/dist/vue2/chunks/{notice_action-qQr3K2TC.js.map → notice_action-IRUoLX2d.js.map} +1 -1
  43. package/dist/vue2/chunks/{notice_action-tEvvMg7Q.js → notice_action-P6uDyE9x.js} +46 -71
  44. package/dist/vue2/chunks/{notice_action-tEvvMg7Q.js.map → notice_action-P6uDyE9x.js.map} +1 -1
  45. package/dist/vue2/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  46. package/dist/vue2/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  47. package/dist/vue2/chunks/{popover_constants-6YkPPbnk.js → popover_constants-WsOUIY-m.js} +47 -26
  48. package/dist/{vue3/chunks/popover_constants-6YkPPbnk.js.map → vue2/chunks/popover_constants-WsOUIY-m.js.map} +1 -1
  49. package/dist/{vue3/chunks/popover_constants-h9MD6WUt.js → vue2/chunks/popover_constants-XnGWXaxX.js} +47 -26
  50. package/dist/vue2/chunks/{popover_constants-6YkPPbnk.js.map → popover_constants-XnGWXaxX.js.map} +1 -1
  51. package/dist/vue2/chunks/{sr_only_close_button-IjMVfBDE.js → sr_only_close_button-81bHIpPu.js} +18 -24
  52. package/dist/vue2/chunks/{sr_only_close_button-IjMVfBDE.js.map → sr_only_close_button-81bHIpPu.js.map} +1 -1
  53. package/dist/vue2/chunks/{sr_only_close_button-2Q9Ny1Nc.js → sr_only_close_button-ZaGdAHz7.js} +18 -24
  54. package/dist/vue2/chunks/{sr_only_close_button-2Q9Ny1Nc.js.map → sr_only_close_button-ZaGdAHz7.js.map} +1 -1
  55. package/dist/vue2/chunks/stack_constants-HraCekPm.js.map +1 -1
  56. package/dist/vue2/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  57. package/dist/vue2/chunks/{tab-79yMX6m6.js → tab-FcsV5VmK.js} +68 -86
  58. package/dist/vue2/chunks/{tab-muPOS7JE.js.map → tab-FcsV5VmK.js.map} +1 -1
  59. package/dist/vue2/chunks/{tab-muPOS7JE.js → tab-V4cb44Ry.js} +68 -86
  60. package/dist/vue2/chunks/{tab-79yMX6m6.js.map → tab-V4cb44Ry.js.map} +1 -1
  61. package/dist/vue2/common/constants.cjs.map +1 -1
  62. package/dist/vue2/common/constants.js.map +1 -1
  63. package/dist/vue2/common/dates.cjs +1 -3
  64. package/dist/vue2/common/dates.cjs.map +1 -1
  65. package/dist/vue2/common/dates.js +1 -3
  66. package/dist/vue2/common/dates.js.map +1 -1
  67. package/dist/vue2/common/emoji.cjs +1 -1
  68. package/dist/vue2/common/emoji.js +1 -1
  69. package/dist/vue2/common/mixins.cjs +3 -3
  70. package/dist/vue2/common/mixins.js +3 -3
  71. package/dist/vue2/common/utils.cjs +44 -8
  72. package/dist/vue2/common/utils.cjs.map +1 -1
  73. package/dist/vue2/common/utils.js +44 -8
  74. package/dist/vue2/common/utils.js.map +1 -1
  75. package/dist/vue2/common/validators.cjs.map +1 -1
  76. package/dist/vue2/common/validators.js.map +1 -1
  77. package/dist/vue2/component-documentation.json +1 -1
  78. package/dist/vue2/dialtone-vue.cjs +12 -12
  79. package/dist/vue2/dialtone-vue.js +12 -12
  80. package/dist/vue2/lib/attachment-carousel.cjs +48 -172
  81. package/dist/vue2/lib/attachment-carousel.cjs.map +1 -1
  82. package/dist/vue2/lib/attachment-carousel.js +48 -172
  83. package/dist/vue2/lib/attachment-carousel.js.map +1 -1
  84. package/dist/vue2/lib/avatar.cjs +58 -75
  85. package/dist/vue2/lib/avatar.cjs.map +1 -1
  86. package/dist/vue2/lib/avatar.js +58 -75
  87. package/dist/vue2/lib/avatar.js.map +1 -1
  88. package/dist/vue2/lib/badge.cjs +20 -31
  89. package/dist/vue2/lib/badge.cjs.map +1 -1
  90. package/dist/vue2/lib/badge.js +20 -31
  91. package/dist/vue2/lib/badge.js.map +1 -1
  92. package/dist/vue2/lib/banner.cjs +29 -53
  93. package/dist/vue2/lib/banner.cjs.map +1 -1
  94. package/dist/vue2/lib/banner.js +29 -53
  95. package/dist/vue2/lib/banner.js.map +1 -1
  96. package/dist/vue2/lib/breadcrumbs.cjs +30 -36
  97. package/dist/vue2/lib/breadcrumbs.cjs.map +1 -1
  98. package/dist/vue2/lib/breadcrumbs.js +30 -36
  99. package/dist/vue2/lib/breadcrumbs.js.map +1 -1
  100. package/dist/vue2/lib/button-group.cjs +14 -7
  101. package/dist/vue2/lib/button-group.cjs.map +1 -1
  102. package/dist/vue2/lib/button-group.js +14 -7
  103. package/dist/vue2/lib/button-group.js.map +1 -1
  104. package/dist/vue2/lib/button.cjs +62 -55
  105. package/dist/vue2/lib/button.cjs.map +1 -1
  106. package/dist/vue2/lib/button.js +62 -55
  107. package/dist/vue2/lib/button.js.map +1 -1
  108. package/dist/vue2/lib/callbar-button-with-popover.cjs +23 -91
  109. package/dist/vue2/lib/callbar-button-with-popover.cjs.map +1 -1
  110. package/dist/vue2/lib/callbar-button-with-popover.js +23 -91
  111. package/dist/vue2/lib/callbar-button-with-popover.js.map +1 -1
  112. package/dist/vue2/lib/callbar-button.cjs +33 -49
  113. package/dist/vue2/lib/callbar-button.cjs.map +1 -1
  114. package/dist/vue2/lib/callbar-button.js +33 -49
  115. package/dist/vue2/lib/callbar-button.js.map +1 -1
  116. package/dist/vue2/lib/callbox.cjs +15 -78
  117. package/dist/vue2/lib/callbox.cjs.map +1 -1
  118. package/dist/vue2/lib/callbox.js +15 -78
  119. package/dist/vue2/lib/callbox.js.map +1 -1
  120. package/dist/vue2/lib/card.cjs +23 -16
  121. package/dist/vue2/lib/card.cjs.map +1 -1
  122. package/dist/vue2/lib/card.js +23 -16
  123. package/dist/vue2/lib/card.js.map +1 -1
  124. package/dist/vue2/lib/checkbox-group.cjs +15 -3
  125. package/dist/vue2/lib/checkbox-group.cjs.map +1 -1
  126. package/dist/vue2/lib/checkbox-group.js +15 -3
  127. package/dist/vue2/lib/checkbox-group.js.map +1 -1
  128. package/dist/vue2/lib/checkbox.cjs +16 -52
  129. package/dist/vue2/lib/checkbox.cjs.map +1 -1
  130. package/dist/vue2/lib/checkbox.js +16 -52
  131. package/dist/vue2/lib/checkbox.js.map +1 -1
  132. package/dist/vue2/lib/chip.cjs +26 -58
  133. package/dist/vue2/lib/chip.cjs.map +1 -1
  134. package/dist/vue2/lib/chip.js +26 -58
  135. package/dist/vue2/lib/chip.js.map +1 -1
  136. package/dist/vue2/lib/codeblock.cjs +11 -4
  137. package/dist/vue2/lib/codeblock.cjs.map +1 -1
  138. package/dist/vue2/lib/codeblock.js +11 -4
  139. package/dist/vue2/lib/codeblock.js.map +1 -1
  140. package/dist/vue2/lib/collapsible.cjs +34 -91
  141. package/dist/vue2/lib/collapsible.cjs.map +1 -1
  142. package/dist/vue2/lib/collapsible.js +34 -91
  143. package/dist/vue2/lib/collapsible.js.map +1 -1
  144. package/dist/vue2/lib/combobox-multi-select.cjs +38 -131
  145. package/dist/vue2/lib/combobox-multi-select.cjs.map +1 -1
  146. package/dist/vue2/lib/combobox-multi-select.js +38 -131
  147. package/dist/vue2/lib/combobox-multi-select.js.map +1 -1
  148. package/dist/vue2/lib/combobox-with-popover.cjs +39 -130
  149. package/dist/vue2/lib/combobox-with-popover.cjs.map +1 -1
  150. package/dist/vue2/lib/combobox-with-popover.js +39 -130
  151. package/dist/vue2/lib/combobox-with-popover.js.map +1 -1
  152. package/dist/vue2/lib/combobox.cjs +3 -3
  153. package/dist/vue2/lib/combobox.js +3 -3
  154. package/dist/vue2/lib/contact-centers-row.cjs +29 -86
  155. package/dist/vue2/lib/contact-centers-row.cjs.map +1 -1
  156. package/dist/vue2/lib/contact-centers-row.js +29 -86
  157. package/dist/vue2/lib/contact-centers-row.js.map +1 -1
  158. package/dist/vue2/lib/contact-info.cjs +31 -95
  159. package/dist/vue2/lib/contact-info.cjs.map +1 -1
  160. package/dist/vue2/lib/contact-info.js +31 -95
  161. package/dist/vue2/lib/contact-info.js.map +1 -1
  162. package/dist/vue2/lib/contact-row.cjs +18 -61
  163. package/dist/vue2/lib/contact-row.cjs.map +1 -1
  164. package/dist/vue2/lib/contact-row.js +18 -61
  165. package/dist/vue2/lib/contact-row.js.map +1 -1
  166. package/dist/vue2/lib/datepicker.cjs +102 -361
  167. package/dist/vue2/lib/datepicker.cjs.map +1 -1
  168. package/dist/vue2/lib/datepicker.js +102 -361
  169. package/dist/vue2/lib/datepicker.js.map +1 -1
  170. package/dist/vue2/lib/description-list.cjs +12 -11
  171. package/dist/vue2/lib/description-list.cjs.map +1 -1
  172. package/dist/vue2/lib/description-list.js +12 -11
  173. package/dist/vue2/lib/description-list.js.map +1 -1
  174. package/dist/vue2/lib/dropdown.cjs +17 -13
  175. package/dist/vue2/lib/dropdown.cjs.map +1 -1
  176. package/dist/vue2/lib/dropdown.js +17 -13
  177. package/dist/vue2/lib/dropdown.js.map +1 -1
  178. package/dist/vue2/lib/editor.cjs +109 -409
  179. package/dist/vue2/lib/editor.cjs.map +1 -1
  180. package/dist/vue2/lib/editor.js +109 -409
  181. package/dist/vue2/lib/editor.js.map +1 -1
  182. package/dist/vue2/lib/emoji-picker.cjs +234 -512
  183. package/dist/vue2/lib/emoji-picker.cjs.map +1 -1
  184. package/dist/vue2/lib/emoji-picker.js +234 -512
  185. package/dist/vue2/lib/emoji-picker.js.map +1 -1
  186. package/dist/vue2/lib/emoji-row.cjs +31 -69
  187. package/dist/vue2/lib/emoji-row.cjs.map +1 -1
  188. package/dist/vue2/lib/emoji-row.js +31 -69
  189. package/dist/vue2/lib/emoji-row.js.map +1 -1
  190. package/dist/vue2/lib/emoji-text-wrapper.cjs +22 -14
  191. package/dist/vue2/lib/emoji-text-wrapper.cjs.map +1 -1
  192. package/dist/vue2/lib/emoji-text-wrapper.js +22 -14
  193. package/dist/vue2/lib/emoji-text-wrapper.js.map +1 -1
  194. package/dist/vue2/lib/emoji.cjs +13 -40
  195. package/dist/vue2/lib/emoji.cjs.map +1 -1
  196. package/dist/vue2/lib/emoji.js +13 -40
  197. package/dist/vue2/lib/emoji.js.map +1 -1
  198. package/dist/vue2/lib/empty-state.cjs +12 -27
  199. package/dist/vue2/lib/empty-state.cjs.map +1 -1
  200. package/dist/vue2/lib/empty-state.js +12 -27
  201. package/dist/vue2/lib/empty-state.js.map +1 -1
  202. package/dist/vue2/lib/feed-item-row.cjs +27 -106
  203. package/dist/vue2/lib/feed-item-row.cjs.map +1 -1
  204. package/dist/vue2/lib/feed-item-row.js +27 -106
  205. package/dist/vue2/lib/feed-item-row.js.map +1 -1
  206. package/dist/vue2/lib/feed-pill.cjs +35 -90
  207. package/dist/vue2/lib/feed-pill.cjs.map +1 -1
  208. package/dist/vue2/lib/feed-pill.js +35 -90
  209. package/dist/vue2/lib/feed-pill.js.map +1 -1
  210. package/dist/vue2/lib/general-row.cjs +75 -184
  211. package/dist/vue2/lib/general-row.cjs.map +1 -1
  212. package/dist/vue2/lib/general-row.js +75 -184
  213. package/dist/vue2/lib/general-row.js.map +1 -1
  214. package/dist/vue2/lib/group-row.cjs +16 -27
  215. package/dist/vue2/lib/group-row.cjs.map +1 -1
  216. package/dist/vue2/lib/group-row.js +16 -27
  217. package/dist/vue2/lib/group-row.js.map +1 -1
  218. package/dist/vue2/lib/grouped-chip.cjs +20 -68
  219. package/dist/vue2/lib/grouped-chip.cjs.map +1 -1
  220. package/dist/vue2/lib/grouped-chip.js +20 -68
  221. package/dist/vue2/lib/grouped-chip.js.map +1 -1
  222. package/dist/vue2/lib/hovercard.cjs +41 -71
  223. package/dist/vue2/lib/hovercard.cjs.map +1 -1
  224. package/dist/vue2/lib/hovercard.js +41 -71
  225. package/dist/vue2/lib/hovercard.js.map +1 -1
  226. package/dist/vue2/lib/icon.cjs +12 -10
  227. package/dist/vue2/lib/icon.cjs.map +1 -1
  228. package/dist/vue2/lib/icon.js +12 -10
  229. package/dist/vue2/lib/icon.js.map +1 -1
  230. package/dist/vue2/lib/illustration.cjs +12 -9
  231. package/dist/vue2/lib/illustration.cjs.map +1 -1
  232. package/dist/vue2/lib/illustration.js +12 -9
  233. package/dist/vue2/lib/illustration.js.map +1 -1
  234. package/dist/vue2/lib/image-viewer.cjs +23 -88
  235. package/dist/vue2/lib/image-viewer.cjs.map +1 -1
  236. package/dist/vue2/lib/image-viewer.js +23 -88
  237. package/dist/vue2/lib/image-viewer.js.map +1 -1
  238. package/dist/vue2/lib/input-group.cjs +14 -24
  239. package/dist/vue2/lib/input-group.cjs.map +1 -1
  240. package/dist/vue2/lib/input-group.js +14 -24
  241. package/dist/vue2/lib/input-group.js.map +1 -1
  242. package/dist/vue2/lib/input.cjs +47 -109
  243. package/dist/vue2/lib/input.cjs.map +1 -1
  244. package/dist/vue2/lib/input.js +47 -109
  245. package/dist/vue2/lib/input.js.map +1 -1
  246. package/dist/vue2/lib/item-layout.cjs +11 -42
  247. package/dist/vue2/lib/item-layout.cjs.map +1 -1
  248. package/dist/vue2/lib/item-layout.js +11 -42
  249. package/dist/vue2/lib/item-layout.js.map +1 -1
  250. package/dist/vue2/lib/ivr-node.cjs +47 -135
  251. package/dist/vue2/lib/ivr-node.cjs.map +1 -1
  252. package/dist/vue2/lib/ivr-node.js +47 -135
  253. package/dist/vue2/lib/ivr-node.js.map +1 -1
  254. package/dist/vue2/lib/keyboard-shortcut.cjs +23 -35
  255. package/dist/vue2/lib/keyboard-shortcut.cjs.map +1 -1
  256. package/dist/vue2/lib/keyboard-shortcut.js +23 -35
  257. package/dist/vue2/lib/keyboard-shortcut.js.map +1 -1
  258. package/dist/vue2/lib/lazy-show.cjs +11 -15
  259. package/dist/vue2/lib/lazy-show.cjs.map +1 -1
  260. package/dist/vue2/lib/lazy-show.js +11 -15
  261. package/dist/vue2/lib/lazy-show.js.map +1 -1
  262. package/dist/vue2/lib/link.cjs +15 -9
  263. package/dist/vue2/lib/link.cjs.map +1 -1
  264. package/dist/vue2/lib/link.js +15 -9
  265. package/dist/vue2/lib/link.js.map +1 -1
  266. package/dist/vue2/lib/list-item-group.cjs +11 -17
  267. package/dist/vue2/lib/list-item-group.cjs.map +1 -1
  268. package/dist/vue2/lib/list-item-group.js +11 -17
  269. package/dist/vue2/lib/list-item-group.js.map +1 -1
  270. package/dist/vue2/lib/list-item.cjs +23 -42
  271. package/dist/vue2/lib/list-item.cjs.map +1 -1
  272. package/dist/vue2/lib/list-item.js +23 -42
  273. package/dist/vue2/lib/list-item.js.map +1 -1
  274. package/dist/vue2/lib/message-input.cjs +97 -360
  275. package/dist/vue2/lib/message-input.cjs.map +1 -1
  276. package/dist/vue2/lib/message-input.js +97 -360
  277. package/dist/vue2/lib/message-input.js.map +1 -1
  278. package/dist/vue2/lib/modal.cjs +36 -94
  279. package/dist/vue2/lib/modal.cjs.map +1 -1
  280. package/dist/vue2/lib/modal.js +36 -94
  281. package/dist/vue2/lib/modal.js.map +1 -1
  282. package/dist/vue2/lib/notice.cjs +21 -40
  283. package/dist/vue2/lib/notice.cjs.map +1 -1
  284. package/dist/vue2/lib/notice.js +21 -40
  285. package/dist/vue2/lib/notice.js.map +1 -1
  286. package/dist/vue2/lib/pagination.cjs +20 -81
  287. package/dist/vue2/lib/pagination.cjs.map +1 -1
  288. package/dist/vue2/lib/pagination.js +20 -81
  289. package/dist/vue2/lib/pagination.js.map +1 -1
  290. package/dist/vue2/lib/popover.cjs +75 -194
  291. package/dist/vue2/lib/popover.cjs.map +1 -1
  292. package/dist/vue2/lib/popover.js +76 -195
  293. package/dist/vue2/lib/popover.js.map +1 -1
  294. package/dist/vue2/lib/presence.cjs +22 -23
  295. package/dist/vue2/lib/presence.cjs.map +1 -1
  296. package/dist/vue2/lib/presence.js +22 -23
  297. package/dist/vue2/lib/presence.js.map +1 -1
  298. package/dist/vue2/lib/radio-group.cjs +11 -2
  299. package/dist/vue2/lib/radio-group.cjs.map +1 -1
  300. package/dist/vue2/lib/radio-group.js +11 -2
  301. package/dist/vue2/lib/radio-group.js.map +1 -1
  302. package/dist/vue2/lib/radio.cjs +15 -47
  303. package/dist/vue2/lib/radio.cjs.map +1 -1
  304. package/dist/vue2/lib/radio.js +15 -47
  305. package/dist/vue2/lib/radio.js.map +1 -1
  306. package/dist/vue2/lib/rich-text-editor.cjs +317 -336
  307. package/dist/vue2/lib/rich-text-editor.cjs.map +1 -1
  308. package/dist/vue2/lib/rich-text-editor.js +317 -336
  309. package/dist/vue2/lib/rich-text-editor.js.map +1 -1
  310. package/dist/vue2/lib/root-layout.cjs +15 -33
  311. package/dist/vue2/lib/root-layout.cjs.map +1 -1
  312. package/dist/vue2/lib/root-layout.js +15 -33
  313. package/dist/vue2/lib/root-layout.js.map +1 -1
  314. package/dist/vue2/lib/scrollbar-directive.cjs +422 -388
  315. package/dist/vue2/lib/scrollbar-directive.cjs.map +1 -1
  316. package/dist/vue2/lib/scrollbar-directive.js +422 -388
  317. package/dist/vue2/lib/scrollbar-directive.js.map +1 -1
  318. package/dist/vue2/lib/select-menu.cjs +33 -52
  319. package/dist/vue2/lib/select-menu.cjs.map +1 -1
  320. package/dist/vue2/lib/select-menu.js +33 -52
  321. package/dist/vue2/lib/select-menu.js.map +1 -1
  322. package/dist/vue2/lib/settings-menu-button.cjs +16 -42
  323. package/dist/vue2/lib/settings-menu-button.cjs.map +1 -1
  324. package/dist/vue2/lib/settings-menu-button.js +16 -42
  325. package/dist/vue2/lib/settings-menu-button.js.map +1 -1
  326. package/dist/vue2/lib/skeleton.cjs +93 -118
  327. package/dist/vue2/lib/skeleton.cjs.map +1 -1
  328. package/dist/vue2/lib/skeleton.js +93 -118
  329. package/dist/vue2/lib/skeleton.js.map +1 -1
  330. package/dist/vue2/lib/split-button.cjs +64 -164
  331. package/dist/vue2/lib/split-button.cjs.map +1 -1
  332. package/dist/vue2/lib/split-button.js +64 -164
  333. package/dist/vue2/lib/split-button.js.map +1 -1
  334. package/dist/vue2/lib/stack.cjs +33 -21
  335. package/dist/vue2/lib/stack.cjs.map +1 -1
  336. package/dist/vue2/lib/stack.js +33 -21
  337. package/dist/vue2/lib/stack.js.map +1 -1
  338. package/dist/vue2/lib/tabs.cjs +13 -20
  339. package/dist/vue2/lib/tabs.cjs.map +1 -1
  340. package/dist/vue2/lib/tabs.js +13 -20
  341. package/dist/vue2/lib/tabs.js.map +1 -1
  342. package/dist/vue2/lib/time-pill.cjs +11 -8
  343. package/dist/vue2/lib/time-pill.cjs.map +1 -1
  344. package/dist/vue2/lib/time-pill.js +11 -8
  345. package/dist/vue2/lib/time-pill.js.map +1 -1
  346. package/dist/vue2/lib/toast.cjs +21 -42
  347. package/dist/vue2/lib/toast.cjs.map +1 -1
  348. package/dist/vue2/lib/toast.js +21 -42
  349. package/dist/vue2/lib/toast.js.map +1 -1
  350. package/dist/vue2/lib/toggle.cjs +24 -28
  351. package/dist/vue2/lib/toggle.cjs.map +1 -1
  352. package/dist/vue2/lib/toggle.js +24 -28
  353. package/dist/vue2/lib/toggle.js.map +1 -1
  354. package/dist/vue2/lib/tooltip-directive.cjs +26 -32
  355. package/dist/vue2/lib/tooltip-directive.cjs.map +1 -1
  356. package/dist/vue2/lib/tooltip-directive.js +26 -32
  357. package/dist/vue2/lib/tooltip-directive.js.map +1 -1
  358. package/dist/vue2/lib/tooltip.cjs +21 -31
  359. package/dist/vue2/lib/tooltip.cjs.map +1 -1
  360. package/dist/vue2/lib/tooltip.js +22 -32
  361. package/dist/vue2/lib/tooltip.js.map +1 -1
  362. package/dist/vue2/lib/top-banner-info.cjs +21 -18
  363. package/dist/vue2/lib/top-banner-info.cjs.map +1 -1
  364. package/dist/vue2/lib/top-banner-info.js +21 -18
  365. package/dist/vue2/lib/top-banner-info.js.map +1 -1
  366. package/dist/vue2/lib/unread-pill.cjs +12 -18
  367. package/dist/vue2/lib/unread-pill.cjs.map +1 -1
  368. package/dist/vue2/lib/unread-pill.js +12 -18
  369. package/dist/vue2/lib/unread-pill.js.map +1 -1
  370. package/dist/vue2/lib/validation-messages.cjs +16 -23
  371. package/dist/vue2/lib/validation-messages.cjs.map +1 -1
  372. package/dist/vue2/lib/validation-messages.js +16 -23
  373. package/dist/vue2/lib/validation-messages.js.map +1 -1
  374. package/dist/vue2/style.css +9 -9
  375. package/dist/vue2/types/common/emoji/index.d.ts +59236 -2
  376. package/dist/vue2/types/common/emoji/index.d.ts.map +1 -1
  377. package/dist/vue2/types/components/button/button.vue.d.ts +1 -1
  378. package/dist/vue2/types/components/chip/chip.vue.d.ts +1 -1
  379. package/dist/vue2/types/components/combobox/combobox.vue.d.ts +1 -1
  380. package/dist/vue2/types/components/icon/icon.vue.d.ts +2 -2
  381. package/dist/vue2/types/components/icon/icon_constants.d.ts +1 -1
  382. package/dist/vue2/types/components/icon/icon_constants.d.ts.map +1 -1
  383. package/dist/vue2/types/components/illustration/illustration.vue.d.ts +2 -2
  384. package/dist/vue2/types/components/illustration/illustration_constants.d.ts +1 -1
  385. package/dist/vue2/types/components/illustration/illustration_constants.d.ts.map +1 -1
  386. package/dist/vue2/types/components/input/input.vue.d.ts +3 -2
  387. package/dist/vue2/types/components/input/input.vue.d.ts.map +1 -1
  388. package/dist/vue2/types/components/modal/modal.vue.d.ts +1 -1
  389. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
  390. package/dist/vue2/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  391. package/dist/vue2/types/components/toast/toast.vue.d.ts +1 -1
  392. package/dist/vue2/types/components/tooltip/tooltip.vue.d.ts +1 -1
  393. package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  394. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  395. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  396. package/dist/vue2/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +15 -0
  397. package/dist/vue2/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  398. package/dist/vue3/chunks/{dropdown-6HXkh24e.js → dropdown-oA-_Gotg.js} +45 -40
  399. package/dist/vue3/chunks/{dropdown-6HXkh24e.js.map → dropdown-oA-_Gotg.js.map} +1 -1
  400. package/dist/vue3/chunks/{dropdown-QNvAb160.js → dropdown-p-Azgwov.js} +45 -40
  401. package/dist/vue3/chunks/{dropdown-QNvAb160.js.map → dropdown-p-Azgwov.js.map} +1 -1
  402. package/dist/vue3/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  403. package/dist/vue3/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  404. package/dist/vue3/chunks/{icon_constants-gIQj4mf7.js → icon_constants-Dy4MEUJL.js} +2 -3
  405. package/dist/vue3/chunks/icon_constants-Dy4MEUJL.js.map +1 -0
  406. package/dist/vue3/chunks/{icon_constants-bvhFNOPu.js → icon_constants-QYpmdE0R.js} +2 -3
  407. package/dist/vue3/chunks/icon_constants-QYpmdE0R.js.map +1 -0
  408. package/dist/vue3/chunks/{index-ouh7Bvm-.js → index-4qgKeErp.js} +84 -71
  409. package/dist/vue3/chunks/{index-T15rAIdX.js.map → index-4qgKeErp.js.map} +1 -1
  410. package/dist/vue3/chunks/{index-dfdrE-3M.js → index-GVD15GIB.js} +12 -3
  411. package/dist/vue3/chunks/{index-dfdrE-3M.js.map → index-GVD15GIB.js.map} +1 -1
  412. package/dist/vue3/chunks/{index-T15rAIdX.js → index-b_MgDylR.js} +84 -71
  413. package/dist/vue3/chunks/{index-ouh7Bvm-.js.map → index-b_MgDylR.js.map} +1 -1
  414. package/dist/vue3/chunks/{index-fEp0B-5Z.js → index-lu2o2f4r.js} +12 -3
  415. package/dist/vue3/chunks/{index-fEp0B-5Z.js.map → index-lu2o2f4r.js.map} +1 -1
  416. package/dist/vue3/chunks/{input-HIysg24t.js → input-NmYDD5bn.js} +9 -3
  417. package/dist/vue3/chunks/{input-HIysg24t.js.map → input-NmYDD5bn.js.map} +1 -1
  418. package/dist/vue3/chunks/{input-dLLo3Wtg.js → input-ttnte8zB.js} +9 -3
  419. package/dist/vue3/chunks/{input-dLLo3Wtg.js.map → input-ttnte8zB.js.map} +1 -1
  420. package/dist/vue3/chunks/{input_group-rE6nhye8.js → input_group-M-D25pOJ.js} +2 -4
  421. package/dist/vue3/chunks/{input_group-hV1WT2it.js.map → input_group-M-D25pOJ.js.map} +1 -1
  422. package/dist/vue3/chunks/{input_group-hV1WT2it.js → input_group-jWnq2DJT.js} +2 -4
  423. package/dist/vue3/chunks/{input_group-rE6nhye8.js.map → input_group-jWnq2DJT.js.map} +1 -1
  424. package/dist/vue3/chunks/{keyboard_list_navigation-YIqTuw1W.js → keyboard_list_navigation-ScXhrxya.js} +5 -6
  425. package/dist/{vue2/chunks/keyboard_list_navigation-x3D6RcC7.js.map → vue3/chunks/keyboard_list_navigation-ScXhrxya.js.map} +1 -1
  426. package/dist/vue3/chunks/{keyboard_list_navigation-x3D6RcC7.js → keyboard_list_navigation-fJnl_Iox.js} +5 -6
  427. package/dist/{vue2/chunks/keyboard_list_navigation-YIqTuw1W.js.map → vue3/chunks/keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
  428. package/dist/vue3/chunks/link_constants-AfTWrr-n.js.map +1 -1
  429. package/dist/vue3/chunks/link_constants-x8NwdqmA.js.map +1 -1
  430. package/dist/vue3/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  431. package/dist/vue3/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  432. package/dist/vue3/chunks/{modal-OaWxzqNt.js → modal-VgxXAQFP.js} +2 -4
  433. package/dist/{vue2/chunks/modal-8X6poIZW.js.map → vue3/chunks/modal-VgxXAQFP.js.map} +1 -1
  434. package/dist/vue3/chunks/{modal-8X6poIZW.js → modal-XOr4kiNZ.js} +2 -4
  435. package/dist/vue3/chunks/{modal-8X6poIZW.js.map → modal-XOr4kiNZ.js.map} +1 -1
  436. package/dist/vue3/chunks/{notice_action-3ed0uIMN.js → notice_action-WTucGhvr.js} +61 -40
  437. package/dist/vue3/chunks/{notice_action-e08Lw5W6.js.map → notice_action-WTucGhvr.js.map} +1 -1
  438. package/dist/vue3/chunks/{notice_action-e08Lw5W6.js → notice_action-p-ePanW_.js} +61 -40
  439. package/dist/vue3/chunks/{notice_action-3ed0uIMN.js.map → notice_action-p-ePanW_.js.map} +1 -1
  440. package/dist/vue3/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  441. package/dist/vue3/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  442. package/dist/vue3/chunks/{popover_constants-6YkPPbnk.js → popover_constants-WsOUIY-m.js} +47 -26
  443. package/dist/vue3/chunks/{popover_constants-h9MD6WUt.js.map → popover_constants-WsOUIY-m.js.map} +1 -1
  444. package/dist/{vue2/chunks/popover_constants-h9MD6WUt.js → vue3/chunks/popover_constants-XnGWXaxX.js} +47 -26
  445. package/dist/{vue2/chunks/popover_constants-h9MD6WUt.js.map → vue3/chunks/popover_constants-XnGWXaxX.js.map} +1 -1
  446. package/dist/vue3/chunks/{sr_only_close_button-Ji3Zlts6.js → sr_only_close_button-3EdsV-dH.js} +4 -4
  447. package/dist/vue3/chunks/{sr_only_close_button-Ji3Zlts6.js.map → sr_only_close_button-3EdsV-dH.js.map} +1 -1
  448. package/dist/vue3/chunks/{sr_only_close_button-gKr0Vlbz.js → sr_only_close_button-xGrHFjwA.js} +4 -4
  449. package/dist/vue3/chunks/{sr_only_close_button-gKr0Vlbz.js.map → sr_only_close_button-xGrHFjwA.js.map} +1 -1
  450. package/dist/vue3/chunks/stack_constants-HraCekPm.js.map +1 -1
  451. package/dist/vue3/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  452. package/dist/vue3/chunks/{tab-aD6t0MNo.js → tab-RTDgnD9-.js} +49 -46
  453. package/dist/vue3/chunks/{tab-aD6t0MNo.js.map → tab-RTDgnD9-.js.map} +1 -1
  454. package/dist/vue3/chunks/{tab-X7IvNGTl.js → tab-qc3f42Yp.js} +49 -46
  455. package/dist/vue3/chunks/{tab-X7IvNGTl.js.map → tab-qc3f42Yp.js.map} +1 -1
  456. package/dist/vue3/common/constants.cjs.map +1 -1
  457. package/dist/vue3/common/constants.js.map +1 -1
  458. package/dist/vue3/common/dates.cjs +1 -3
  459. package/dist/vue3/common/dates.cjs.map +1 -1
  460. package/dist/vue3/common/dates.js +1 -3
  461. package/dist/vue3/common/dates.js.map +1 -1
  462. package/dist/vue3/common/emoji.cjs +1 -1
  463. package/dist/vue3/common/emoji.js +1 -1
  464. package/dist/vue3/common/mixins.cjs +3 -3
  465. package/dist/vue3/common/mixins.js +3 -3
  466. package/dist/vue3/common/utils.cjs +45 -11
  467. package/dist/vue3/common/utils.cjs.map +1 -1
  468. package/dist/vue3/common/utils.js +45 -11
  469. package/dist/vue3/common/utils.js.map +1 -1
  470. package/dist/vue3/common/validators.cjs.map +1 -1
  471. package/dist/vue3/common/validators.js.map +1 -1
  472. package/dist/vue3/component-documentation.json +1 -1
  473. package/dist/vue3/dialtone-vue.cjs +12 -12
  474. package/dist/vue3/dialtone-vue.js +12 -12
  475. package/dist/vue3/lib/attachment-carousel.cjs +108 -87
  476. package/dist/vue3/lib/attachment-carousel.cjs.map +1 -1
  477. package/dist/vue3/lib/attachment-carousel.js +108 -87
  478. package/dist/vue3/lib/attachment-carousel.js.map +1 -1
  479. package/dist/vue3/lib/avatar.cjs +88 -56
  480. package/dist/vue3/lib/avatar.cjs.map +1 -1
  481. package/dist/vue3/lib/avatar.js +88 -56
  482. package/dist/vue3/lib/avatar.js.map +1 -1
  483. package/dist/vue3/lib/badge.cjs +31 -15
  484. package/dist/vue3/lib/badge.cjs.map +1 -1
  485. package/dist/vue3/lib/badge.js +31 -15
  486. package/dist/vue3/lib/badge.js.map +1 -1
  487. package/dist/vue3/lib/banner.cjs +56 -38
  488. package/dist/vue3/lib/banner.cjs.map +1 -1
  489. package/dist/vue3/lib/banner.js +56 -38
  490. package/dist/vue3/lib/banner.js.map +1 -1
  491. package/dist/vue3/lib/breadcrumbs.cjs +36 -25
  492. package/dist/vue3/lib/breadcrumbs.cjs.map +1 -1
  493. package/dist/vue3/lib/breadcrumbs.js +36 -25
  494. package/dist/vue3/lib/breadcrumbs.js.map +1 -1
  495. package/dist/vue3/lib/button-group.cjs +7 -2
  496. package/dist/vue3/lib/button-group.cjs.map +1 -1
  497. package/dist/vue3/lib/button-group.js +7 -2
  498. package/dist/vue3/lib/button-group.js.map +1 -1
  499. package/dist/vue3/lib/button.cjs +69 -44
  500. package/dist/vue3/lib/button.cjs.map +1 -1
  501. package/dist/vue3/lib/button.js +69 -44
  502. package/dist/vue3/lib/button.js.map +1 -1
  503. package/dist/vue3/lib/callbar-button-with-popover.cjs +81 -68
  504. package/dist/vue3/lib/callbar-button-with-popover.cjs.map +1 -1
  505. package/dist/vue3/lib/callbar-button-with-popover.js +81 -68
  506. package/dist/vue3/lib/callbar-button-with-popover.js.map +1 -1
  507. package/dist/vue3/lib/callbar-button.cjs +45 -32
  508. package/dist/vue3/lib/callbar-button.cjs.map +1 -1
  509. package/dist/vue3/lib/callbar-button.js +45 -32
  510. package/dist/vue3/lib/callbar-button.js.map +1 -1
  511. package/dist/vue3/lib/callbox.cjs +57 -38
  512. package/dist/vue3/lib/callbox.cjs.map +1 -1
  513. package/dist/vue3/lib/callbox.js +57 -38
  514. package/dist/vue3/lib/callbox.js.map +1 -1
  515. package/dist/vue3/lib/card.cjs +33 -13
  516. package/dist/vue3/lib/card.cjs.map +1 -1
  517. package/dist/vue3/lib/card.js +33 -13
  518. package/dist/vue3/lib/card.js.map +1 -1
  519. package/dist/vue3/lib/checkbox-group.cjs +5 -2
  520. package/dist/vue3/lib/checkbox-group.cjs.map +1 -1
  521. package/dist/vue3/lib/checkbox-group.js +5 -2
  522. package/dist/vue3/lib/checkbox-group.js.map +1 -1
  523. package/dist/vue3/lib/checkbox.cjs +45 -41
  524. package/dist/vue3/lib/checkbox.cjs.map +1 -1
  525. package/dist/vue3/lib/checkbox.js +45 -41
  526. package/dist/vue3/lib/checkbox.js.map +1 -1
  527. package/dist/vue3/lib/chip.cjs +53 -38
  528. package/dist/vue3/lib/chip.cjs.map +1 -1
  529. package/dist/vue3/lib/chip.js +53 -38
  530. package/dist/vue3/lib/chip.js.map +1 -1
  531. package/dist/vue3/lib/codeblock.cjs +6 -4
  532. package/dist/vue3/lib/codeblock.cjs.map +1 -1
  533. package/dist/vue3/lib/codeblock.js +6 -4
  534. package/dist/vue3/lib/codeblock.js.map +1 -1
  535. package/dist/vue3/lib/collapsible.cjs +76 -62
  536. package/dist/vue3/lib/collapsible.cjs.map +1 -1
  537. package/dist/vue3/lib/collapsible.js +76 -62
  538. package/dist/vue3/lib/collapsible.js.map +1 -1
  539. package/dist/vue3/lib/combobox-multi-select.cjs +88 -75
  540. package/dist/vue3/lib/combobox-multi-select.cjs.map +1 -1
  541. package/dist/vue3/lib/combobox-multi-select.js +88 -75
  542. package/dist/vue3/lib/combobox-multi-select.js.map +1 -1
  543. package/dist/vue3/lib/combobox-with-popover.cjs +85 -77
  544. package/dist/vue3/lib/combobox-with-popover.cjs.map +1 -1
  545. package/dist/vue3/lib/combobox-with-popover.js +85 -77
  546. package/dist/vue3/lib/combobox-with-popover.js.map +1 -1
  547. package/dist/vue3/lib/combobox.cjs +3 -3
  548. package/dist/vue3/lib/combobox.js +3 -3
  549. package/dist/vue3/lib/contact-centers-row.cjs +89 -65
  550. package/dist/vue3/lib/contact-centers-row.cjs.map +1 -1
  551. package/dist/vue3/lib/contact-centers-row.js +89 -65
  552. package/dist/vue3/lib/contact-centers-row.js.map +1 -1
  553. package/dist/vue3/lib/contact-info.cjs +82 -59
  554. package/dist/vue3/lib/contact-info.cjs.map +1 -1
  555. package/dist/vue3/lib/contact-info.js +82 -59
  556. package/dist/vue3/lib/contact-info.js.map +1 -1
  557. package/dist/vue3/lib/contact-row.cjs +47 -37
  558. package/dist/vue3/lib/contact-row.cjs.map +1 -1
  559. package/dist/vue3/lib/contact-row.js +47 -37
  560. package/dist/vue3/lib/contact-row.js.map +1 -1
  561. package/dist/vue3/lib/datepicker.cjs +263 -267
  562. package/dist/vue3/lib/datepicker.cjs.map +1 -1
  563. package/dist/vue3/lib/datepicker.js +263 -267
  564. package/dist/vue3/lib/datepicker.js.map +1 -1
  565. package/dist/vue3/lib/description-list.cjs +14 -9
  566. package/dist/vue3/lib/description-list.cjs.map +1 -1
  567. package/dist/vue3/lib/description-list.js +14 -9
  568. package/dist/vue3/lib/description-list.js.map +1 -1
  569. package/dist/vue3/lib/dropdown.cjs +6 -6
  570. package/dist/vue3/lib/dropdown.cjs.map +1 -1
  571. package/dist/vue3/lib/dropdown.js +6 -6
  572. package/dist/vue3/lib/dropdown.js.map +1 -1
  573. package/dist/vue3/lib/editor.cjs +249 -312
  574. package/dist/vue3/lib/editor.cjs.map +1 -1
  575. package/dist/vue3/lib/editor.js +249 -312
  576. package/dist/vue3/lib/editor.js.map +1 -1
  577. package/dist/vue3/lib/emoji-picker.cjs +419 -387
  578. package/dist/vue3/lib/emoji-picker.cjs.map +1 -1
  579. package/dist/vue3/lib/emoji-picker.js +419 -387
  580. package/dist/vue3/lib/emoji-picker.js.map +1 -1
  581. package/dist/vue3/lib/emoji-row.cjs +69 -59
  582. package/dist/vue3/lib/emoji-row.cjs.map +1 -1
  583. package/dist/vue3/lib/emoji-row.js +69 -59
  584. package/dist/vue3/lib/emoji-row.js.map +1 -1
  585. package/dist/vue3/lib/emoji-text-wrapper.cjs +12 -13
  586. package/dist/vue3/lib/emoji-text-wrapper.cjs.map +1 -1
  587. package/dist/vue3/lib/emoji-text-wrapper.js +12 -13
  588. package/dist/vue3/lib/emoji-text-wrapper.js.map +1 -1
  589. package/dist/vue3/lib/emoji.cjs +23 -19
  590. package/dist/vue3/lib/emoji.cjs.map +1 -1
  591. package/dist/vue3/lib/emoji.js +23 -19
  592. package/dist/vue3/lib/emoji.js.map +1 -1
  593. package/dist/vue3/lib/empty-state.cjs +30 -20
  594. package/dist/vue3/lib/empty-state.cjs.map +1 -1
  595. package/dist/vue3/lib/empty-state.js +30 -20
  596. package/dist/vue3/lib/empty-state.js.map +1 -1
  597. package/dist/vue3/lib/feed-item-row.cjs +74 -43
  598. package/dist/vue3/lib/feed-item-row.cjs.map +1 -1
  599. package/dist/vue3/lib/feed-item-row.js +74 -43
  600. package/dist/vue3/lib/feed-item-row.js.map +1 -1
  601. package/dist/vue3/lib/feed-pill.cjs +55 -45
  602. package/dist/vue3/lib/feed-pill.cjs.map +1 -1
  603. package/dist/vue3/lib/feed-pill.js +55 -45
  604. package/dist/vue3/lib/feed-pill.js.map +1 -1
  605. package/dist/vue3/lib/general-row.cjs +165 -115
  606. package/dist/vue3/lib/general-row.cjs.map +1 -1
  607. package/dist/vue3/lib/general-row.js +165 -115
  608. package/dist/vue3/lib/general-row.js.map +1 -1
  609. package/dist/vue3/lib/group-row.cjs +9 -7
  610. package/dist/vue3/lib/group-row.cjs.map +1 -1
  611. package/dist/vue3/lib/group-row.js +9 -7
  612. package/dist/vue3/lib/group-row.js.map +1 -1
  613. package/dist/vue3/lib/grouped-chip.cjs +48 -27
  614. package/dist/vue3/lib/grouped-chip.cjs.map +1 -1
  615. package/dist/vue3/lib/grouped-chip.js +48 -27
  616. package/dist/vue3/lib/grouped-chip.js.map +1 -1
  617. package/dist/vue3/lib/hovercard.cjs +33 -25
  618. package/dist/vue3/lib/hovercard.cjs.map +1 -1
  619. package/dist/vue3/lib/hovercard.js +33 -25
  620. package/dist/vue3/lib/hovercard.js.map +1 -1
  621. package/dist/vue3/lib/icon.cjs +1 -1
  622. package/dist/vue3/lib/icon.cjs.map +1 -1
  623. package/dist/vue3/lib/icon.js +1 -1
  624. package/dist/vue3/lib/icon.js.map +1 -1
  625. package/dist/vue3/lib/illustration.cjs +1 -2
  626. package/dist/vue3/lib/illustration.cjs.map +1 -1
  627. package/dist/vue3/lib/illustration.js +1 -2
  628. package/dist/vue3/lib/illustration.js.map +1 -1
  629. package/dist/vue3/lib/image-viewer.cjs +66 -52
  630. package/dist/vue3/lib/image-viewer.cjs.map +1 -1
  631. package/dist/vue3/lib/image-viewer.js +66 -52
  632. package/dist/vue3/lib/image-viewer.js.map +1 -1
  633. package/dist/vue3/lib/input-group.cjs +19 -15
  634. package/dist/vue3/lib/input-group.cjs.map +1 -1
  635. package/dist/vue3/lib/input-group.js +19 -15
  636. package/dist/vue3/lib/input-group.js.map +1 -1
  637. package/dist/vue3/lib/input.cjs +114 -77
  638. package/dist/vue3/lib/input.cjs.map +1 -1
  639. package/dist/vue3/lib/input.js +114 -77
  640. package/dist/vue3/lib/input.js.map +1 -1
  641. package/dist/vue3/lib/item-layout.cjs +27 -10
  642. package/dist/vue3/lib/item-layout.cjs.map +1 -1
  643. package/dist/vue3/lib/item-layout.js +27 -10
  644. package/dist/vue3/lib/item-layout.js.map +1 -1
  645. package/dist/vue3/lib/ivr-node.cjs +89 -80
  646. package/dist/vue3/lib/ivr-node.cjs.map +1 -1
  647. package/dist/vue3/lib/ivr-node.js +89 -80
  648. package/dist/vue3/lib/ivr-node.js.map +1 -1
  649. package/dist/vue3/lib/keyboard-shortcut.cjs +31 -26
  650. package/dist/vue3/lib/keyboard-shortcut.cjs.map +1 -1
  651. package/dist/vue3/lib/keyboard-shortcut.js +31 -26
  652. package/dist/vue3/lib/keyboard-shortcut.js.map +1 -1
  653. package/dist/vue3/lib/lazy-show.cjs +8 -6
  654. package/dist/vue3/lib/lazy-show.cjs.map +1 -1
  655. package/dist/vue3/lib/lazy-show.js +8 -6
  656. package/dist/vue3/lib/lazy-show.js.map +1 -1
  657. package/dist/vue3/lib/link.cjs +7 -2
  658. package/dist/vue3/lib/link.cjs.map +1 -1
  659. package/dist/vue3/lib/link.js +7 -2
  660. package/dist/vue3/lib/link.js.map +1 -1
  661. package/dist/vue3/lib/list-item-group.cjs +14 -7
  662. package/dist/vue3/lib/list-item-group.cjs.map +1 -1
  663. package/dist/vue3/lib/list-item-group.js +14 -7
  664. package/dist/vue3/lib/list-item-group.js.map +1 -1
  665. package/dist/vue3/lib/list-item.cjs +25 -24
  666. package/dist/vue3/lib/list-item.cjs.map +1 -1
  667. package/dist/vue3/lib/list-item.js +25 -24
  668. package/dist/vue3/lib/list-item.js.map +1 -1
  669. package/dist/vue3/lib/message-input.cjs +264 -227
  670. package/dist/vue3/lib/message-input.cjs.map +1 -1
  671. package/dist/vue3/lib/message-input.js +264 -227
  672. package/dist/vue3/lib/message-input.js.map +1 -1
  673. package/dist/vue3/lib/modal.cjs +99 -59
  674. package/dist/vue3/lib/modal.cjs.map +1 -1
  675. package/dist/vue3/lib/modal.js +99 -59
  676. package/dist/vue3/lib/modal.js.map +1 -1
  677. package/dist/vue3/lib/notice.cjs +46 -33
  678. package/dist/vue3/lib/notice.cjs.map +1 -1
  679. package/dist/vue3/lib/notice.js +46 -33
  680. package/dist/vue3/lib/notice.js.map +1 -1
  681. package/dist/vue3/lib/pagination.cjs +61 -49
  682. package/dist/vue3/lib/pagination.cjs.map +1 -1
  683. package/dist/vue3/lib/pagination.js +61 -49
  684. package/dist/vue3/lib/pagination.js.map +1 -1
  685. package/dist/vue3/lib/popover.cjs +156 -133
  686. package/dist/vue3/lib/popover.cjs.map +1 -1
  687. package/dist/vue3/lib/popover.js +157 -134
  688. package/dist/vue3/lib/popover.js.map +1 -1
  689. package/dist/vue3/lib/presence.cjs +17 -9
  690. package/dist/vue3/lib/presence.cjs.map +1 -1
  691. package/dist/vue3/lib/presence.js +17 -9
  692. package/dist/vue3/lib/presence.js.map +1 -1
  693. package/dist/vue3/lib/radio-group.cjs +1 -1
  694. package/dist/vue3/lib/radio-group.cjs.map +1 -1
  695. package/dist/vue3/lib/radio-group.js +1 -1
  696. package/dist/vue3/lib/radio-group.js.map +1 -1
  697. package/dist/vue3/lib/radio.cjs +41 -34
  698. package/dist/vue3/lib/radio.cjs.map +1 -1
  699. package/dist/vue3/lib/radio.js +41 -34
  700. package/dist/vue3/lib/radio.js.map +1 -1
  701. package/dist/vue3/lib/rich-text-editor.cjs +288 -292
  702. package/dist/vue3/lib/rich-text-editor.cjs.map +1 -1
  703. package/dist/vue3/lib/rich-text-editor.js +288 -292
  704. package/dist/vue3/lib/rich-text-editor.js.map +1 -1
  705. package/dist/vue3/lib/root-layout.cjs +39 -24
  706. package/dist/vue3/lib/root-layout.cjs.map +1 -1
  707. package/dist/vue3/lib/root-layout.js +39 -24
  708. package/dist/vue3/lib/root-layout.js.map +1 -1
  709. package/dist/vue3/lib/scrollbar-directive.cjs +422 -388
  710. package/dist/vue3/lib/scrollbar-directive.cjs.map +1 -1
  711. package/dist/vue3/lib/scrollbar-directive.js +422 -388
  712. package/dist/vue3/lib/scrollbar-directive.js.map +1 -1
  713. package/dist/vue3/lib/scroller.cjs +83 -100
  714. package/dist/vue3/lib/scroller.cjs.map +1 -1
  715. package/dist/vue3/lib/scroller.js +83 -100
  716. package/dist/vue3/lib/scroller.js.map +1 -1
  717. package/dist/vue3/lib/select-menu.cjs +67 -40
  718. package/dist/vue3/lib/select-menu.cjs.map +1 -1
  719. package/dist/vue3/lib/select-menu.js +67 -40
  720. package/dist/vue3/lib/select-menu.js.map +1 -1
  721. package/dist/vue3/lib/settings-menu-button.cjs +16 -10
  722. package/dist/vue3/lib/settings-menu-button.cjs.map +1 -1
  723. package/dist/vue3/lib/settings-menu-button.js +16 -10
  724. package/dist/vue3/lib/settings-menu-button.js.map +1 -1
  725. package/dist/vue3/lib/skeleton.cjs +93 -74
  726. package/dist/vue3/lib/skeleton.cjs.map +1 -1
  727. package/dist/vue3/lib/skeleton.js +93 -74
  728. package/dist/vue3/lib/skeleton.js.map +1 -1
  729. package/dist/vue3/lib/split-button.cjs +74 -68
  730. package/dist/vue3/lib/split-button.cjs.map +1 -1
  731. package/dist/vue3/lib/split-button.js +74 -68
  732. package/dist/vue3/lib/split-button.js.map +1 -1
  733. package/dist/vue3/lib/stack.cjs +26 -18
  734. package/dist/vue3/lib/stack.cjs.map +1 -1
  735. package/dist/vue3/lib/stack.js +26 -18
  736. package/dist/vue3/lib/stack.js.map +1 -1
  737. package/dist/vue3/lib/tabs.cjs +7 -3
  738. package/dist/vue3/lib/tabs.cjs.map +1 -1
  739. package/dist/vue3/lib/tabs.js +7 -3
  740. package/dist/vue3/lib/tabs.js.map +1 -1
  741. package/dist/vue3/lib/time-pill.cjs.map +1 -1
  742. package/dist/vue3/lib/time-pill.js.map +1 -1
  743. package/dist/vue3/lib/toast.cjs +51 -35
  744. package/dist/vue3/lib/toast.cjs.map +1 -1
  745. package/dist/vue3/lib/toast.js +51 -35
  746. package/dist/vue3/lib/toast.js.map +1 -1
  747. package/dist/vue3/lib/toggle.cjs +34 -24
  748. package/dist/vue3/lib/toggle.cjs.map +1 -1
  749. package/dist/vue3/lib/toggle.js +34 -24
  750. package/dist/vue3/lib/toggle.js.map +1 -1
  751. package/dist/vue3/lib/tooltip-directive.cjs +19 -26
  752. package/dist/vue3/lib/tooltip-directive.cjs.map +1 -1
  753. package/dist/vue3/lib/tooltip-directive.js +19 -26
  754. package/dist/vue3/lib/tooltip-directive.js.map +1 -1
  755. package/dist/vue3/lib/tooltip.cjs +32 -21
  756. package/dist/vue3/lib/tooltip.cjs.map +1 -1
  757. package/dist/vue3/lib/tooltip.js +33 -22
  758. package/dist/vue3/lib/tooltip.js.map +1 -1
  759. package/dist/vue3/lib/top-banner-info.cjs +23 -8
  760. package/dist/vue3/lib/top-banner-info.cjs.map +1 -1
  761. package/dist/vue3/lib/top-banner-info.js +23 -8
  762. package/dist/vue3/lib/top-banner-info.js.map +1 -1
  763. package/dist/vue3/lib/unread-pill.cjs +11 -8
  764. package/dist/vue3/lib/unread-pill.cjs.map +1 -1
  765. package/dist/vue3/lib/unread-pill.js +11 -8
  766. package/dist/vue3/lib/unread-pill.js.map +1 -1
  767. package/dist/vue3/lib/validation-messages.cjs +17 -14
  768. package/dist/vue3/lib/validation-messages.cjs.map +1 -1
  769. package/dist/vue3/lib/validation-messages.js +17 -14
  770. package/dist/vue3/lib/validation-messages.js.map +1 -1
  771. package/dist/vue3/style.css +9 -9
  772. package/dist/vue3/types/components/button/button.vue.d.ts +1 -1
  773. package/dist/vue3/types/components/chip/chip.vue.d.ts +1 -1
  774. package/dist/vue3/types/components/combobox/combobox.vue.d.ts +1 -1
  775. package/dist/vue3/types/components/datepicker/modules/month-year-picker.vue.d.ts +1 -1
  776. package/dist/vue3/types/components/icon/icon.vue.d.ts +2 -2
  777. package/dist/vue3/types/components/icon/icon_constants.d.ts +1 -1
  778. package/dist/vue3/types/components/icon/icon_constants.d.ts.map +1 -1
  779. package/dist/vue3/types/components/illustration/illustration_constants.d.ts +1 -1
  780. package/dist/vue3/types/components/illustration/illustration_constants.d.ts.map +1 -1
  781. package/dist/vue3/types/components/input/input.vue.d.ts +3 -2
  782. package/dist/vue3/types/components/input/input.vue.d.ts.map +1 -1
  783. package/dist/vue3/types/components/modal/modal.vue.d.ts +1 -1
  784. package/dist/vue3/types/components/notice/notice.vue.d.ts +1 -1
  785. package/dist/vue3/types/components/radio/radio.vue.d.ts +1 -1
  786. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
  787. package/dist/vue3/types/components/scroller/modules/scroller_item.vue.d.ts +1 -1
  788. package/dist/vue3/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  789. package/dist/vue3/types/components/tabs/tab.vue.d.ts +1 -1
  790. package/dist/vue3/types/components/toast/toast.vue.d.ts +2 -2
  791. package/dist/vue3/types/components/tooltip/tooltip.vue.d.ts +1 -1
  792. package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  793. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  794. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  795. package/dist/vue3/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +15 -0
  796. package/dist/vue3/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
  797. package/package.json +3 -2
  798. package/dist/vue2/chunks/icon_constants-TdxqLsS2.js.map +0 -1
  799. package/dist/vue2/chunks/icon_constants-VEA0wI5C.js.map +0 -1
  800. package/dist/vue3/chunks/icon_constants-bvhFNOPu.js.map +0 -1
  801. package/dist/vue3/chunks/icon_constants-gIQj4mf7.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.cjs","sources":["../../components/button_group/button_group_constants.js","../../components/button_group/button_group.vue"],"sourcesContent":["export const BUTTON_GROUP_ALIGNMENT = {\n start: 'd-btn-group--start',\n end: 'd-btn-group--end',\n 'space-between': 'd-btn-group--space-between',\n};\n","<template>\n <div\n :class=\"[\n 'd-btn-group',\n BUTTON_GROUP_ALIGNMENT[alignment],\n ]\"\n role=\"group\"\n >\n <!-- @slot Default slot for button items -->\n <slot />\n </div>\n</template>\n\n<script>\nimport { BUTTON_GROUP_ALIGNMENT } from './button_group_constants';\n\nexport default {\n name: 'DtButtonGroup',\n\n props: {\n /**\n * Alignment of the buttons inside the container\n */\n alignment: {\n type: String,\n default: 'start',\n validator: (alignment) => Object.keys(BUTTON_GROUP_ALIGNMENT).includes(alignment),\n },\n },\n\n data () {\n return {\n BUTTON_GROUP_ALIGNMENT,\n };\n },\n};\n</script>\n"],"names":["BUTTON_GROUP_ALIGNMENT","start","end","_sfc_main","name","props","alignment","type","String","default","validator","Object","keys","includes","data"],"mappings":";;;AAAO,MAAMA,yBAAyB;AAAA,EACpCC,OAAO;AAAA,EACPC,KAAK;AAAA,EACL,iBAAiB;AACnB;ACYA,MAAAC,YAAA;AAAA,EACAC,MAAA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA,IAIAC,WAAA;AAAA,MACAC,MAAAC;AAAAA,MACAC,SAAA;AAAA,MACAC,WAAAJ,eAAAK,OAAAC,KAAAZ,sBAAA,EAAAa,SAAAP,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAQ,OAAA;AACA,WAAA;AAAA,MACAd;AAAAA;EAEA;AACA;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"button-group.cjs","sources":["../../components/button_group/button_group_constants.js","../../components/button_group/button_group.vue"],"sourcesContent":["export const BUTTON_GROUP_ALIGNMENT = {\n start: 'd-btn-group--start',\n end: 'd-btn-group--end',\n 'space-between': 'd-btn-group--space-between',\n};\n","<template>\n <div\n :class=\"[\n 'd-btn-group',\n BUTTON_GROUP_ALIGNMENT[alignment],\n ]\"\n role=\"group\"\n >\n <!-- @slot Default slot for button items -->\n <slot />\n </div>\n</template>\n\n<script>\nimport { BUTTON_GROUP_ALIGNMENT } from './button_group_constants';\n\nexport default {\n name: 'DtButtonGroup',\n\n props: {\n /**\n * Alignment of the buttons inside the container\n */\n alignment: {\n type: String,\n default: 'start',\n validator: (alignment) => Object.keys(BUTTON_GROUP_ALIGNMENT).includes(alignment),\n },\n },\n\n data () {\n return {\n BUTTON_GROUP_ALIGNMENT,\n };\n },\n};\n</script>\n"],"names":[],"mappings":";;;AAAY,MAAC,yBAAyB;AAAA,EACpC,OAAO;AAAA,EACP,KAAK;AAAA,EACL,iBAAiB;AACnB;ACYA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,cAAA,OAAA,KAAA,sBAAA,EAAA,SAAA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;"}
@@ -24,15 +24,22 @@ const _sfc_main = {
24
24
  };
25
25
  var _sfc_render = function render() {
26
26
  var _vm = this, _c = _vm._self._c;
27
- return _c("div", {
28
- class: ["d-btn-group", _vm.BUTTON_GROUP_ALIGNMENT[_vm.alignment]],
29
- attrs: {
30
- "role": "group"
31
- }
32
- }, [_vm._t("default")], 2);
27
+ return _c("div", { class: [
28
+ "d-btn-group",
29
+ _vm.BUTTON_GROUP_ALIGNMENT[_vm.alignment]
30
+ ], attrs: { "role": "group" } }, [_vm._t("default")], 2);
33
31
  };
34
32
  var _sfc_staticRenderFns = [];
35
- var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
33
+ var __component__ = /* @__PURE__ */ normalizeComponent(
34
+ _sfc_main,
35
+ _sfc_render,
36
+ _sfc_staticRenderFns,
37
+ false,
38
+ null,
39
+ null,
40
+ null,
41
+ null
42
+ );
36
43
  const button_group = __component__.exports;
37
44
  export {
38
45
  BUTTON_GROUP_ALIGNMENT,
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.js","sources":["../../components/button_group/button_group_constants.js","../../components/button_group/button_group.vue"],"sourcesContent":["export const BUTTON_GROUP_ALIGNMENT = {\n start: 'd-btn-group--start',\n end: 'd-btn-group--end',\n 'space-between': 'd-btn-group--space-between',\n};\n","<template>\n <div\n :class=\"[\n 'd-btn-group',\n BUTTON_GROUP_ALIGNMENT[alignment],\n ]\"\n role=\"group\"\n >\n <!-- @slot Default slot for button items -->\n <slot />\n </div>\n</template>\n\n<script>\nimport { BUTTON_GROUP_ALIGNMENT } from './button_group_constants';\n\nexport default {\n name: 'DtButtonGroup',\n\n props: {\n /**\n * Alignment of the buttons inside the container\n */\n alignment: {\n type: String,\n default: 'start',\n validator: (alignment) => Object.keys(BUTTON_GROUP_ALIGNMENT).includes(alignment),\n },\n },\n\n data () {\n return {\n BUTTON_GROUP_ALIGNMENT,\n };\n },\n};\n</script>\n"],"names":["BUTTON_GROUP_ALIGNMENT","start","end","_sfc_main","name","props","alignment","type","String","default","validator","Object","keys","includes","data"],"mappings":";AAAO,MAAMA,yBAAyB;AAAA,EACpCC,OAAO;AAAA,EACPC,KAAK;AAAA,EACL,iBAAiB;AACnB;ACYA,MAAAC,YAAA;AAAA,EACAC,MAAA;AAAA,EAEAC,OAAA;AAAA;AAAA;AAAA;AAAA,IAIAC,WAAA;AAAA,MACAC,MAAAC;AAAAA,MACAC,SAAA;AAAA,MACAC,WAAAJ,eAAAK,OAAAC,KAAAZ,sBAAA,EAAAa,SAAAP,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEAQ,OAAA;AACA,WAAA;AAAA,MACAd;AAAAA;EAEA;AACA;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"button-group.js","sources":["../../components/button_group/button_group_constants.js","../../components/button_group/button_group.vue"],"sourcesContent":["export const BUTTON_GROUP_ALIGNMENT = {\n start: 'd-btn-group--start',\n end: 'd-btn-group--end',\n 'space-between': 'd-btn-group--space-between',\n};\n","<template>\n <div\n :class=\"[\n 'd-btn-group',\n BUTTON_GROUP_ALIGNMENT[alignment],\n ]\"\n role=\"group\"\n >\n <!-- @slot Default slot for button items -->\n <slot />\n </div>\n</template>\n\n<script>\nimport { BUTTON_GROUP_ALIGNMENT } from './button_group_constants';\n\nexport default {\n name: 'DtButtonGroup',\n\n props: {\n /**\n * Alignment of the buttons inside the container\n */\n alignment: {\n type: String,\n default: 'start',\n validator: (alignment) => Object.keys(BUTTON_GROUP_ALIGNMENT).includes(alignment),\n },\n },\n\n data () {\n return {\n BUTTON_GROUP_ALIGNMENT,\n };\n },\n};\n</script>\n"],"names":[],"mappings":";AAAY,MAAC,yBAAyB;AAAA,EACpC,OAAO;AAAA,EACP,KAAK;AAAA,EACL,iBAAiB;AACnB;ACYA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,cAAA,OAAA,KAAA,sBAAA,EAAA,SAAA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
@@ -28,27 +28,32 @@ const ICON_POSITION_MODIFIERS = {
28
28
  top: "d-btn__icon--top",
29
29
  bottom: "d-btn__icon--bottom"
30
30
  };
31
- const INVALID_COMBINATION = [{
32
- circle: true,
33
- kind: "default",
34
- importance: "primary",
35
- message: _invalidCombinationMessage(true, "default", "primary")
36
- }, {
37
- circle: true,
38
- kind: "danger",
39
- importance: "outlined",
40
- message: _invalidCombinationMessage(true, "danger", "outlined")
41
- }, {
42
- circle: true,
43
- kind: "muted",
44
- importance: "primary",
45
- message: _invalidCombinationMessage(true, "muted", "primary")
46
- }, {
47
- circle: false,
48
- kind: "muted",
49
- importance: "primary",
50
- message: _invalidCombinationMessage(false, "muted", "primary")
51
- }];
31
+ const INVALID_COMBINATION = [
32
+ {
33
+ circle: true,
34
+ kind: "default",
35
+ importance: "primary",
36
+ message: _invalidCombinationMessage(true, "default", "primary")
37
+ },
38
+ {
39
+ circle: true,
40
+ kind: "danger",
41
+ importance: "outlined",
42
+ message: _invalidCombinationMessage(true, "danger", "outlined")
43
+ },
44
+ {
45
+ circle: true,
46
+ kind: "muted",
47
+ importance: "primary",
48
+ message: _invalidCombinationMessage(true, "muted", "primary")
49
+ },
50
+ {
51
+ circle: false,
52
+ kind: "muted",
53
+ importance: "primary",
54
+ message: _invalidCombinationMessage(false, "muted", "primary")
55
+ }
56
+ ];
52
57
  const BUTTON_ICON_SIZES = {
53
58
  xs: "200",
54
59
  sm: "200",
@@ -274,15 +279,25 @@ const _sfc_main = {
274
279
  methods: {
275
280
  buttonClasses() {
276
281
  if (this.link) {
277
- return ["d-link", link_constants.getLinkKindModifier(this.linkKind, this.linkInverted), BUTTON_SIZE_MODIFIERS[this.size]];
282
+ return [
283
+ "d-link",
284
+ link_constants.getLinkKindModifier(this.linkKind, this.linkInverted),
285
+ BUTTON_SIZE_MODIFIERS[this.size]
286
+ ];
278
287
  }
279
- return ["d-btn", BUTTON_IMPORTANCE_MODIFIERS[this.importance], BUTTON_KIND_MODIFIERS[this.kind], BUTTON_SIZE_MODIFIERS[this.size], {
280
- "d-btn--circle": this.circle,
281
- "d-btn--loading": this.loading,
282
- "d-btn--icon-only": this.isIconOnly(),
283
- "d-btn--vertical": this.isVerticalIconLayout(),
284
- "d-btn--active": this.active
285
- }];
288
+ return [
289
+ "d-btn",
290
+ BUTTON_IMPORTANCE_MODIFIERS[this.importance],
291
+ BUTTON_KIND_MODIFIERS[this.kind],
292
+ BUTTON_SIZE_MODIFIERS[this.size],
293
+ {
294
+ "d-btn--circle": this.circle,
295
+ "d-btn--loading": this.loading,
296
+ "d-btn--icon-only": this.isIconOnly(),
297
+ "d-btn--vertical": this.isVerticalIconLayout(),
298
+ "d-btn--active": this.active
299
+ }
300
+ ];
286
301
  },
287
302
  isInvalidPropCombination(circle, kind, importance) {
288
303
  for (const row of INVALID_COMBINATION) {
@@ -306,34 +321,26 @@ const _sfc_main = {
306
321
  };
307
322
  var _sfc_render = function render() {
308
323
  var _vm = this, _c = _vm._self._c;
309
- return _c("button", _vm._g({
310
- class: ["base-button__button", _vm.buttonClasses()],
311
- style: {
312
- width: _vm.width
313
- },
314
- attrs: {
315
- "data-qa": "dt-button",
316
- "type": _vm.type,
317
- "disabled": _vm.disabled,
318
- "aria-live": _vm.computedAriaLive,
319
- "aria-label": _vm.loading ? "loading" : _vm.$attrs["aria-label"]
320
- }
321
- }, _vm.buttonListeners), [_vm.shouldRenderIcon() ? _c("span", {
322
- class: ["base-button__icon", "d-btn__icon", _vm.ICON_POSITION_MODIFIERS[_vm.iconPosition]],
323
- attrs: {
324
- "data-qa": "dt-button-icon"
325
- }
326
- }, [_vm._t("icon", null, {
327
- "iconSize": _vm.iconSize
328
- })], 2) : _vm._e(), _vm.$slots.default ? _c("span", {
329
- class: ["d-btn__label", "base-button__label", _vm.labelClass],
330
- attrs: {
331
- "data-qa": "dt-button-label"
332
- }
333
- }, [_vm._t("default")], 2) : _vm._e()]);
324
+ return _c("button", _vm._g({ class: [
325
+ "base-button__button",
326
+ _vm.buttonClasses()
327
+ ], style: { width: _vm.width }, attrs: { "data-qa": "dt-button", "type": _vm.type, "disabled": _vm.disabled, "aria-live": _vm.computedAriaLive, "aria-label": _vm.loading ? "loading" : _vm.$attrs["aria-label"] } }, _vm.buttonListeners), [_vm.shouldRenderIcon() ? _c("span", { class: [
328
+ "base-button__icon",
329
+ "d-btn__icon",
330
+ _vm.ICON_POSITION_MODIFIERS[_vm.iconPosition]
331
+ ], attrs: { "data-qa": "dt-button-icon" } }, [_vm._t("icon", null, { "iconSize": _vm.iconSize })], 2) : _vm._e(), _vm.$slots.default ? _c("span", { class: ["d-btn__label", "base-button__label", _vm.labelClass], attrs: { "data-qa": "dt-button-label" } }, [_vm._t("default")], 2) : _vm._e()]);
334
332
  };
335
333
  var _sfc_staticRenderFns = [];
336
- var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
334
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
335
+ _sfc_main,
336
+ _sfc_render,
337
+ _sfc_staticRenderFns,
338
+ false,
339
+ null,
340
+ null,
341
+ null,
342
+ null
343
+ );
337
344
  const DtButton = __component__.exports;
338
345
  exports.BUTTON_ICON_SIZES = BUTTON_ICON_SIZES;
339
346
  exports.BUTTON_IMPORTANCE_MODIFIERS = BUTTON_IMPORTANCE_MODIFIERS;
@@ -1 +1 @@
1
- {"version":3,"file":"button.cjs","sources":["../../components/button/button_constants.js","../../components/button/button.vue"],"sourcesContent":["export const BUTTON_SIZE_MODIFIERS = {\n xs: 'd-btn--xs',\n sm: 'd-btn--sm',\n md: '',\n lg: 'd-btn--lg',\n xl: 'd-btn--xl',\n};\n\nexport const BUTTON_KIND_MODIFIERS = {\n default: '',\n muted: 'd-btn--muted',\n danger: 'd-btn--danger',\n inverted: 'd-btn--inverted',\n};\n\nexport const BUTTON_IMPORTANCE_MODIFIERS = {\n clear: '',\n primary: 'd-btn--primary',\n outlined: 'd-btn--outlined',\n};\n\nexport const BUTTON_TYPES = ['submit', 'reset', 'button'];\n\nexport const ICON_POSITION_MODIFIERS = {\n left: 'd-btn__icon--left',\n right: 'd-btn__icon--right',\n top: 'd-btn__icon--top',\n bottom: 'd-btn__icon--bottom',\n};\n\nexport const INVALID_COMBINATION = [\n {\n circle: true,\n kind: 'default',\n importance: 'primary',\n message: _invalidCombinationMessage(true, 'default', 'primary'),\n },\n {\n circle: true,\n kind: 'danger',\n importance: 'outlined',\n message: _invalidCombinationMessage(true, 'danger', 'outlined'),\n },\n {\n circle: true,\n kind: 'muted',\n importance: 'primary',\n message: _invalidCombinationMessage(true, 'muted', 'primary'),\n },\n {\n circle: false,\n kind: 'muted',\n importance: 'primary',\n message: _invalidCombinationMessage(false, 'muted', 'primary'),\n },\n];\n\nexport const BUTTON_ICON_SIZES = {\n xs: '200',\n sm: '200',\n md: '300',\n lg: '400',\n xl: '500',\n};\n\nfunction _invalidCombinationMessage (circle, kind, importance) {\n return `You cannot have a ${circle ? 'circle ' : ''}button \\\nwith kind: ${kind} and importance: ${importance} as it \\\ndoes not exist in our design system. \\\nSee https://dialtone.dialpad.com/components/button.html for a \\\nlist of available button styles`;\n}\n\nexport default {\n BUTTON_SIZE_MODIFIERS,\n BUTTON_KIND_MODIFIERS,\n BUTTON_IMPORTANCE_MODIFIERS,\n BUTTON_TYPES,\n ICON_POSITION_MODIFIERS,\n INVALID_COMBINATION,\n BUTTON_ICON_SIZES,\n};\n","<template>\n <button\n :class=\"[\n 'base-button__button',\n buttonClasses(),\n ]\"\n data-qa=\"dt-button\"\n :type=\"type\"\n :disabled=\"disabled\"\n :style=\"{ width: width }\"\n :aria-live=\"computedAriaLive\"\n :aria-label=\"loading ? 'loading' : $attrs['aria-label']\"\n v-on=\"buttonListeners\"\n >\n <!-- NOTE(cormac): This span is needed since we can't apply styles to slots. -->\n <span\n v-if=\"shouldRenderIcon()\"\n data-qa=\"dt-button-icon\"\n :class=\"[\n 'base-button__icon',\n 'd-btn__icon',\n ICON_POSITION_MODIFIERS[iconPosition],\n ]\"\n >\n <!-- @slot Button icon -->\n <slot\n name=\"icon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <span\n v-if=\"$slots.default\"\n data-qa=\"dt-button-label\"\n :class=\"['d-btn__label', 'base-button__label', labelClass]\"\n >\n <!-- @slot Content within button -->\n <slot />\n </span>\n </button>\n</template>\n\n<script>\nimport Vue from 'vue';\n\nimport {\n BUTTON_SIZE_MODIFIERS,\n BUTTON_KIND_MODIFIERS,\n BUTTON_IMPORTANCE_MODIFIERS,\n BUTTON_ICON_SIZES,\n BUTTON_TYPES,\n ICON_POSITION_MODIFIERS,\n INVALID_COMBINATION,\n} from './button_constants';\n\nimport { LINK_KIND_MODIFIERS, getLinkKindModifier } from '@/components/link';\n\n/**\n * A button is a UI element which allows users to take an action throughout the app.\n * It is important a button is identifiable, consistent, and communicates its actions clearly,\n * and is appropriately sized to its action.\n * @see https://dialtone.dialpad.com/components/button.html\n */\nexport default {\n name: 'DtButton',\n\n props: {\n /**\n * Whether the button is a circle or not.\n * @values true, false\n */\n circle: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The position of the icon slot within the button.\n * @values left, right, top, bottom\n */\n iconPosition: {\n type: String,\n default: 'left',\n validator: (position) => Object.keys(ICON_POSITION_MODIFIERS).includes(position),\n },\n\n /**\n * The fill and outline of the button associated with its visual importance.\n * @values clear, outlined, primary\n */\n importance: {\n type: String,\n default: 'primary',\n validator: (i) => Object.keys(BUTTON_IMPORTANCE_MODIFIERS).includes(i),\n },\n\n /**\n * Whether the button should be styled as a link or not.\n * @values true, false\n * @see DtLink\n */\n link: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the link and button if the button is styled as a link.\n * @values default, warning, danger, success, muted\n * @see DtLink\n */\n linkKind: {\n type: String,\n default: 'default',\n validator: (lk) => Object.keys(LINK_KIND_MODIFIERS).includes(lk),\n },\n\n /**\n * Determines whether the link should have inverted styling if the button is styled as a link.\n * @values true, false\n * @see DtLink\n */\n linkInverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML button disabled attribute\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled\" target=\"_blank\"> (Reference) </a>\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML button type attribute\n * <a\n * class=\"d-link\"\n * href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type\"\n * target=\"_blank\"\n * >\n * (Reference)\n * </a>\n * @values button, submit, reset\n */\n type: {\n type: String,\n default: 'button',\n validator: (t) => BUTTON_TYPES.includes(t),\n },\n\n /**\n * Button width, accepts\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/width\" target=\"_blank\">\n * CSS width attribute\n * </a>\n * values\n */\n width: {\n type: String,\n default: null,\n },\n\n /**\n * The size of the button.\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(BUTTON_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Whether the button should display a loading animation or not.\n * @values true, false\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the button.\n * @values default, muted, danger, inverted\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(BUTTON_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * Determines whether a screenreader reads live updates of\n * the button content to the user while the button\n * is in focus. default is to not.\n * @values true, false\n */\n assertiveOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should have active styling\n * default is false.\n * @values true, false\n */\n active: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Native button focus in event\n *\n * @event focusin\n * @type {FocusEvent}\n */\n 'focusin',\n\n /**\n * Native button focus out event\n *\n * @event focusout\n * @type {FocusEvent}\n */\n 'focusout',\n ],\n\n data () {\n return {\n ICON_POSITION_MODIFIERS,\n // whether the button is currently in focus\n isInFocus: false,\n };\n },\n\n computed: {\n\n buttonListeners () {\n if (!this.assertiveOnFocus) {\n return this.$listeners;\n }\n return {\n ...this.$listeners,\n focusin: (e) => {\n this.isInFocus = true;\n },\n\n focusout: (e) => {\n this.isInFocus = false;\n },\n };\n },\n\n computedAriaLive () {\n return this.assertiveOnFocus && this.isInFocus ? 'assertive' : this.$attrs.ariaLive;\n },\n\n iconSize () {\n return BUTTON_ICON_SIZES[this.size];\n },\n },\n\n watch: {\n $props: {\n deep: true,\n immediate: true,\n handler () {\n if (process.env.NODE_ENV === 'production') return;\n\n if (this.circle && this.link) {\n Vue.util.warn('You cannot enable circle and link at the same time', this);\n }\n\n this.isInvalidPropCombination(this.circle, this.kind, this.importance);\n },\n },\n },\n\n methods: {\n buttonClasses () {\n if (this.link) {\n return [\n 'd-link',\n getLinkKindModifier(this.linkKind, this.linkInverted),\n BUTTON_SIZE_MODIFIERS[this.size],\n ];\n }\n return [\n 'd-btn',\n BUTTON_IMPORTANCE_MODIFIERS[this.importance],\n BUTTON_KIND_MODIFIERS[this.kind],\n BUTTON_SIZE_MODIFIERS[this.size],\n {\n 'd-btn--circle': this.circle,\n 'd-btn--loading': this.loading,\n 'd-btn--icon-only': this.isIconOnly(),\n 'd-btn--vertical': this.isVerticalIconLayout(),\n 'd-btn--active': this.active,\n },\n ];\n },\n\n isInvalidPropCombination (circle, kind, importance) {\n for (const row of INVALID_COMBINATION) {\n if (circle === row.circle && kind === row.kind && importance === row.importance) {\n console.warn(row.message);\n return false;\n }\n }\n return true;\n },\n\n shouldRenderIcon () {\n return this.$scopedSlots.icon && this.$scopedSlots.icon() && !this.link;\n },\n\n isIconOnly () {\n return this.shouldRenderIcon() && !this.$slots.default;\n },\n\n isVerticalIconLayout () {\n return !this.isIconOnly() && ['top', 'bottom'].includes(this.iconPosition);\n },\n },\n};\n</script>\n"],"names":["BUTTON_SIZE_MODIFIERS","xs","sm","md","lg","xl","BUTTON_KIND_MODIFIERS","default","muted","danger","inverted","BUTTON_IMPORTANCE_MODIFIERS","clear","primary","outlined","BUTTON_TYPES","ICON_POSITION_MODIFIERS","left","right","top","bottom","INVALID_COMBINATION","circle","kind","importance","message","_invalidCombinationMessage","BUTTON_ICON_SIZES","_sfc_main","name","props","type","Boolean","iconPosition","String","validator","position","Object","keys","includes","i","link","linkKind","lk","LINK_KIND_MODIFIERS","linkInverted","disabled","t","width","size","s","labelClass","Array","loading","k","assertiveOnFocus","active","emits","data","isInFocus","computed","buttonListeners","$listeners","focusin","e","focusout","computedAriaLive","$attrs","ariaLive","iconSize","watch","$props","deep","immediate","handler","process","env","NODE_ENV","Vue","util","warn","isInvalidPropCombination","methods","buttonClasses","getLinkKindModifier","isIconOnly","isVerticalIconLayout","row","console","shouldRenderIcon","$scopedSlots","icon","$slots"],"mappings":"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"}
1
+ {"version":3,"file":"button.cjs","sources":["../../components/button/button_constants.js","../../components/button/button.vue"],"sourcesContent":["export const BUTTON_SIZE_MODIFIERS = {\n xs: 'd-btn--xs',\n sm: 'd-btn--sm',\n md: '',\n lg: 'd-btn--lg',\n xl: 'd-btn--xl',\n};\n\nexport const BUTTON_KIND_MODIFIERS = {\n default: '',\n muted: 'd-btn--muted',\n danger: 'd-btn--danger',\n inverted: 'd-btn--inverted',\n};\n\nexport const BUTTON_IMPORTANCE_MODIFIERS = {\n clear: '',\n primary: 'd-btn--primary',\n outlined: 'd-btn--outlined',\n};\n\nexport const BUTTON_TYPES = ['submit', 'reset', 'button'];\n\nexport const ICON_POSITION_MODIFIERS = {\n left: 'd-btn__icon--left',\n right: 'd-btn__icon--right',\n top: 'd-btn__icon--top',\n bottom: 'd-btn__icon--bottom',\n};\n\nexport const INVALID_COMBINATION = [\n {\n circle: true,\n kind: 'default',\n importance: 'primary',\n message: _invalidCombinationMessage(true, 'default', 'primary'),\n },\n {\n circle: true,\n kind: 'danger',\n importance: 'outlined',\n message: _invalidCombinationMessage(true, 'danger', 'outlined'),\n },\n {\n circle: true,\n kind: 'muted',\n importance: 'primary',\n message: _invalidCombinationMessage(true, 'muted', 'primary'),\n },\n {\n circle: false,\n kind: 'muted',\n importance: 'primary',\n message: _invalidCombinationMessage(false, 'muted', 'primary'),\n },\n];\n\nexport const BUTTON_ICON_SIZES = {\n xs: '200',\n sm: '200',\n md: '300',\n lg: '400',\n xl: '500',\n};\n\nfunction _invalidCombinationMessage (circle, kind, importance) {\n return `You cannot have a ${circle ? 'circle ' : ''}button \\\nwith kind: ${kind} and importance: ${importance} as it \\\ndoes not exist in our design system. \\\nSee https://dialtone.dialpad.com/components/button.html for a \\\nlist of available button styles`;\n}\n\nexport default {\n BUTTON_SIZE_MODIFIERS,\n BUTTON_KIND_MODIFIERS,\n BUTTON_IMPORTANCE_MODIFIERS,\n BUTTON_TYPES,\n ICON_POSITION_MODIFIERS,\n INVALID_COMBINATION,\n BUTTON_ICON_SIZES,\n};\n","<template>\n <button\n :class=\"[\n 'base-button__button',\n buttonClasses(),\n ]\"\n data-qa=\"dt-button\"\n :type=\"type\"\n :disabled=\"disabled\"\n :style=\"{ width: width }\"\n :aria-live=\"computedAriaLive\"\n :aria-label=\"loading ? 'loading' : $attrs['aria-label']\"\n v-on=\"buttonListeners\"\n >\n <!-- NOTE(cormac): This span is needed since we can't apply styles to slots. -->\n <span\n v-if=\"shouldRenderIcon()\"\n data-qa=\"dt-button-icon\"\n :class=\"[\n 'base-button__icon',\n 'd-btn__icon',\n ICON_POSITION_MODIFIERS[iconPosition],\n ]\"\n >\n <!-- @slot Button icon -->\n <slot\n name=\"icon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <span\n v-if=\"$slots.default\"\n data-qa=\"dt-button-label\"\n :class=\"['d-btn__label', 'base-button__label', labelClass]\"\n >\n <!-- @slot Content within button -->\n <slot />\n </span>\n </button>\n</template>\n\n<script>\nimport Vue from 'vue';\n\nimport {\n BUTTON_SIZE_MODIFIERS,\n BUTTON_KIND_MODIFIERS,\n BUTTON_IMPORTANCE_MODIFIERS,\n BUTTON_ICON_SIZES,\n BUTTON_TYPES,\n ICON_POSITION_MODIFIERS,\n INVALID_COMBINATION,\n} from './button_constants';\n\nimport { LINK_KIND_MODIFIERS, getLinkKindModifier } from '@/components/link';\n\n/**\n * A button is a UI element which allows users to take an action throughout the app.\n * It is important a button is identifiable, consistent, and communicates its actions clearly,\n * and is appropriately sized to its action.\n * @see https://dialtone.dialpad.com/components/button.html\n */\nexport default {\n name: 'DtButton',\n\n props: {\n /**\n * Whether the button is a circle or not.\n * @values true, false\n */\n circle: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The position of the icon slot within the button.\n * @values left, right, top, bottom\n */\n iconPosition: {\n type: String,\n default: 'left',\n validator: (position) => Object.keys(ICON_POSITION_MODIFIERS).includes(position),\n },\n\n /**\n * The fill and outline of the button associated with its visual importance.\n * @values clear, outlined, primary\n */\n importance: {\n type: String,\n default: 'primary',\n validator: (i) => Object.keys(BUTTON_IMPORTANCE_MODIFIERS).includes(i),\n },\n\n /**\n * Whether the button should be styled as a link or not.\n * @values true, false\n * @see DtLink\n */\n link: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the link and button if the button is styled as a link.\n * @values default, warning, danger, success, muted\n * @see DtLink\n */\n linkKind: {\n type: String,\n default: 'default',\n validator: (lk) => Object.keys(LINK_KIND_MODIFIERS).includes(lk),\n },\n\n /**\n * Determines whether the link should have inverted styling if the button is styled as a link.\n * @values true, false\n * @see DtLink\n */\n linkInverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML button disabled attribute\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled\" target=\"_blank\"> (Reference) </a>\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML button type attribute\n * <a\n * class=\"d-link\"\n * href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type\"\n * target=\"_blank\"\n * >\n * (Reference)\n * </a>\n * @values button, submit, reset\n */\n type: {\n type: String,\n default: 'button',\n validator: (t) => BUTTON_TYPES.includes(t),\n },\n\n /**\n * Button width, accepts\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/width\" target=\"_blank\">\n * CSS width attribute\n * </a>\n * values\n */\n width: {\n type: String,\n default: null,\n },\n\n /**\n * The size of the button.\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(BUTTON_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Whether the button should display a loading animation or not.\n * @values true, false\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the button.\n * @values default, muted, danger, inverted\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(BUTTON_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * Determines whether a screenreader reads live updates of\n * the button content to the user while the button\n * is in focus. default is to not.\n * @values true, false\n */\n assertiveOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should have active styling\n * default is false.\n * @values true, false\n */\n active: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Native button focus in event\n *\n * @event focusin\n * @type {FocusEvent}\n */\n 'focusin',\n\n /**\n * Native button focus out event\n *\n * @event focusout\n * @type {FocusEvent}\n */\n 'focusout',\n ],\n\n data () {\n return {\n ICON_POSITION_MODIFIERS,\n // whether the button is currently in focus\n isInFocus: false,\n };\n },\n\n computed: {\n\n buttonListeners () {\n if (!this.assertiveOnFocus) {\n return this.$listeners;\n }\n return {\n ...this.$listeners,\n focusin: (e) => {\n this.isInFocus = true;\n },\n\n focusout: (e) => {\n this.isInFocus = false;\n },\n };\n },\n\n computedAriaLive () {\n return this.assertiveOnFocus && this.isInFocus ? 'assertive' : this.$attrs.ariaLive;\n },\n\n iconSize () {\n return BUTTON_ICON_SIZES[this.size];\n },\n },\n\n watch: {\n $props: {\n deep: true,\n immediate: true,\n handler () {\n if (process.env.NODE_ENV === 'production') return;\n\n if (this.circle && this.link) {\n Vue.util.warn('You cannot enable circle and link at the same time', this);\n }\n\n this.isInvalidPropCombination(this.circle, this.kind, this.importance);\n },\n },\n },\n\n methods: {\n buttonClasses () {\n if (this.link) {\n return [\n 'd-link',\n getLinkKindModifier(this.linkKind, this.linkInverted),\n BUTTON_SIZE_MODIFIERS[this.size],\n ];\n }\n return [\n 'd-btn',\n BUTTON_IMPORTANCE_MODIFIERS[this.importance],\n BUTTON_KIND_MODIFIERS[this.kind],\n BUTTON_SIZE_MODIFIERS[this.size],\n {\n 'd-btn--circle': this.circle,\n 'd-btn--loading': this.loading,\n 'd-btn--icon-only': this.isIconOnly(),\n 'd-btn--vertical': this.isVerticalIconLayout(),\n 'd-btn--active': this.active,\n },\n ];\n },\n\n isInvalidPropCombination (circle, kind, importance) {\n for (const row of INVALID_COMBINATION) {\n if (circle === row.circle && kind === row.kind && importance === row.importance) {\n console.warn(row.message);\n return false;\n }\n }\n return true;\n },\n\n shouldRenderIcon () {\n return this.$scopedSlots.icon && this.$scopedSlots.icon() && !this.link;\n },\n\n isIconOnly () {\n return this.shouldRenderIcon() && !this.$slots.default;\n },\n\n isVerticalIconLayout () {\n return !this.isIconOnly() && ['top', 'bottom'].includes(this.iconPosition);\n },\n },\n};\n</script>\n"],"names":["LINK_KIND_MODIFIERS","getLinkKindModifier"],"mappings":"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"}
@@ -26,27 +26,32 @@ const ICON_POSITION_MODIFIERS = {
26
26
  top: "d-btn__icon--top",
27
27
  bottom: "d-btn__icon--bottom"
28
28
  };
29
- const INVALID_COMBINATION = [{
30
- circle: true,
31
- kind: "default",
32
- importance: "primary",
33
- message: _invalidCombinationMessage(true, "default", "primary")
34
- }, {
35
- circle: true,
36
- kind: "danger",
37
- importance: "outlined",
38
- message: _invalidCombinationMessage(true, "danger", "outlined")
39
- }, {
40
- circle: true,
41
- kind: "muted",
42
- importance: "primary",
43
- message: _invalidCombinationMessage(true, "muted", "primary")
44
- }, {
45
- circle: false,
46
- kind: "muted",
47
- importance: "primary",
48
- message: _invalidCombinationMessage(false, "muted", "primary")
49
- }];
29
+ const INVALID_COMBINATION = [
30
+ {
31
+ circle: true,
32
+ kind: "default",
33
+ importance: "primary",
34
+ message: _invalidCombinationMessage(true, "default", "primary")
35
+ },
36
+ {
37
+ circle: true,
38
+ kind: "danger",
39
+ importance: "outlined",
40
+ message: _invalidCombinationMessage(true, "danger", "outlined")
41
+ },
42
+ {
43
+ circle: true,
44
+ kind: "muted",
45
+ importance: "primary",
46
+ message: _invalidCombinationMessage(true, "muted", "primary")
47
+ },
48
+ {
49
+ circle: false,
50
+ kind: "muted",
51
+ importance: "primary",
52
+ message: _invalidCombinationMessage(false, "muted", "primary")
53
+ }
54
+ ];
50
55
  const BUTTON_ICON_SIZES = {
51
56
  xs: "200",
52
57
  sm: "200",
@@ -272,15 +277,25 @@ const _sfc_main = {
272
277
  methods: {
273
278
  buttonClasses() {
274
279
  if (this.link) {
275
- return ["d-link", getLinkKindModifier(this.linkKind, this.linkInverted), BUTTON_SIZE_MODIFIERS[this.size]];
280
+ return [
281
+ "d-link",
282
+ getLinkKindModifier(this.linkKind, this.linkInverted),
283
+ BUTTON_SIZE_MODIFIERS[this.size]
284
+ ];
276
285
  }
277
- return ["d-btn", BUTTON_IMPORTANCE_MODIFIERS[this.importance], BUTTON_KIND_MODIFIERS[this.kind], BUTTON_SIZE_MODIFIERS[this.size], {
278
- "d-btn--circle": this.circle,
279
- "d-btn--loading": this.loading,
280
- "d-btn--icon-only": this.isIconOnly(),
281
- "d-btn--vertical": this.isVerticalIconLayout(),
282
- "d-btn--active": this.active
283
- }];
286
+ return [
287
+ "d-btn",
288
+ BUTTON_IMPORTANCE_MODIFIERS[this.importance],
289
+ BUTTON_KIND_MODIFIERS[this.kind],
290
+ BUTTON_SIZE_MODIFIERS[this.size],
291
+ {
292
+ "d-btn--circle": this.circle,
293
+ "d-btn--loading": this.loading,
294
+ "d-btn--icon-only": this.isIconOnly(),
295
+ "d-btn--vertical": this.isVerticalIconLayout(),
296
+ "d-btn--active": this.active
297
+ }
298
+ ];
284
299
  },
285
300
  isInvalidPropCombination(circle, kind, importance) {
286
301
  for (const row of INVALID_COMBINATION) {
@@ -304,34 +319,26 @@ const _sfc_main = {
304
319
  };
305
320
  var _sfc_render = function render() {
306
321
  var _vm = this, _c = _vm._self._c;
307
- return _c("button", _vm._g({
308
- class: ["base-button__button", _vm.buttonClasses()],
309
- style: {
310
- width: _vm.width
311
- },
312
- attrs: {
313
- "data-qa": "dt-button",
314
- "type": _vm.type,
315
- "disabled": _vm.disabled,
316
- "aria-live": _vm.computedAriaLive,
317
- "aria-label": _vm.loading ? "loading" : _vm.$attrs["aria-label"]
318
- }
319
- }, _vm.buttonListeners), [_vm.shouldRenderIcon() ? _c("span", {
320
- class: ["base-button__icon", "d-btn__icon", _vm.ICON_POSITION_MODIFIERS[_vm.iconPosition]],
321
- attrs: {
322
- "data-qa": "dt-button-icon"
323
- }
324
- }, [_vm._t("icon", null, {
325
- "iconSize": _vm.iconSize
326
- })], 2) : _vm._e(), _vm.$slots.default ? _c("span", {
327
- class: ["d-btn__label", "base-button__label", _vm.labelClass],
328
- attrs: {
329
- "data-qa": "dt-button-label"
330
- }
331
- }, [_vm._t("default")], 2) : _vm._e()]);
322
+ return _c("button", _vm._g({ class: [
323
+ "base-button__button",
324
+ _vm.buttonClasses()
325
+ ], style: { width: _vm.width }, attrs: { "data-qa": "dt-button", "type": _vm.type, "disabled": _vm.disabled, "aria-live": _vm.computedAriaLive, "aria-label": _vm.loading ? "loading" : _vm.$attrs["aria-label"] } }, _vm.buttonListeners), [_vm.shouldRenderIcon() ? _c("span", { class: [
326
+ "base-button__icon",
327
+ "d-btn__icon",
328
+ _vm.ICON_POSITION_MODIFIERS[_vm.iconPosition]
329
+ ], attrs: { "data-qa": "dt-button-icon" } }, [_vm._t("icon", null, { "iconSize": _vm.iconSize })], 2) : _vm._e(), _vm.$slots.default ? _c("span", { class: ["d-btn__label", "base-button__label", _vm.labelClass], attrs: { "data-qa": "dt-button-label" } }, [_vm._t("default")], 2) : _vm._e()]);
332
330
  };
333
331
  var _sfc_staticRenderFns = [];
334
- var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
332
+ var __component__ = /* @__PURE__ */ normalizeComponent(
333
+ _sfc_main,
334
+ _sfc_render,
335
+ _sfc_staticRenderFns,
336
+ false,
337
+ null,
338
+ null,
339
+ null,
340
+ null
341
+ );
335
342
  const DtButton = __component__.exports;
336
343
  export {
337
344
  BUTTON_ICON_SIZES,
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sources":["../../components/button/button_constants.js","../../components/button/button.vue"],"sourcesContent":["export const BUTTON_SIZE_MODIFIERS = {\n xs: 'd-btn--xs',\n sm: 'd-btn--sm',\n md: '',\n lg: 'd-btn--lg',\n xl: 'd-btn--xl',\n};\n\nexport const BUTTON_KIND_MODIFIERS = {\n default: '',\n muted: 'd-btn--muted',\n danger: 'd-btn--danger',\n inverted: 'd-btn--inverted',\n};\n\nexport const BUTTON_IMPORTANCE_MODIFIERS = {\n clear: '',\n primary: 'd-btn--primary',\n outlined: 'd-btn--outlined',\n};\n\nexport const BUTTON_TYPES = ['submit', 'reset', 'button'];\n\nexport const ICON_POSITION_MODIFIERS = {\n left: 'd-btn__icon--left',\n right: 'd-btn__icon--right',\n top: 'd-btn__icon--top',\n bottom: 'd-btn__icon--bottom',\n};\n\nexport const INVALID_COMBINATION = [\n {\n circle: true,\n kind: 'default',\n importance: 'primary',\n message: _invalidCombinationMessage(true, 'default', 'primary'),\n },\n {\n circle: true,\n kind: 'danger',\n importance: 'outlined',\n message: _invalidCombinationMessage(true, 'danger', 'outlined'),\n },\n {\n circle: true,\n kind: 'muted',\n importance: 'primary',\n message: _invalidCombinationMessage(true, 'muted', 'primary'),\n },\n {\n circle: false,\n kind: 'muted',\n importance: 'primary',\n message: _invalidCombinationMessage(false, 'muted', 'primary'),\n },\n];\n\nexport const BUTTON_ICON_SIZES = {\n xs: '200',\n sm: '200',\n md: '300',\n lg: '400',\n xl: '500',\n};\n\nfunction _invalidCombinationMessage (circle, kind, importance) {\n return `You cannot have a ${circle ? 'circle ' : ''}button \\\nwith kind: ${kind} and importance: ${importance} as it \\\ndoes not exist in our design system. \\\nSee https://dialtone.dialpad.com/components/button.html for a \\\nlist of available button styles`;\n}\n\nexport default {\n BUTTON_SIZE_MODIFIERS,\n BUTTON_KIND_MODIFIERS,\n BUTTON_IMPORTANCE_MODIFIERS,\n BUTTON_TYPES,\n ICON_POSITION_MODIFIERS,\n INVALID_COMBINATION,\n BUTTON_ICON_SIZES,\n};\n","<template>\n <button\n :class=\"[\n 'base-button__button',\n buttonClasses(),\n ]\"\n data-qa=\"dt-button\"\n :type=\"type\"\n :disabled=\"disabled\"\n :style=\"{ width: width }\"\n :aria-live=\"computedAriaLive\"\n :aria-label=\"loading ? 'loading' : $attrs['aria-label']\"\n v-on=\"buttonListeners\"\n >\n <!-- NOTE(cormac): This span is needed since we can't apply styles to slots. -->\n <span\n v-if=\"shouldRenderIcon()\"\n data-qa=\"dt-button-icon\"\n :class=\"[\n 'base-button__icon',\n 'd-btn__icon',\n ICON_POSITION_MODIFIERS[iconPosition],\n ]\"\n >\n <!-- @slot Button icon -->\n <slot\n name=\"icon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <span\n v-if=\"$slots.default\"\n data-qa=\"dt-button-label\"\n :class=\"['d-btn__label', 'base-button__label', labelClass]\"\n >\n <!-- @slot Content within button -->\n <slot />\n </span>\n </button>\n</template>\n\n<script>\nimport Vue from 'vue';\n\nimport {\n BUTTON_SIZE_MODIFIERS,\n BUTTON_KIND_MODIFIERS,\n BUTTON_IMPORTANCE_MODIFIERS,\n BUTTON_ICON_SIZES,\n BUTTON_TYPES,\n ICON_POSITION_MODIFIERS,\n INVALID_COMBINATION,\n} from './button_constants';\n\nimport { LINK_KIND_MODIFIERS, getLinkKindModifier } from '@/components/link';\n\n/**\n * A button is a UI element which allows users to take an action throughout the app.\n * It is important a button is identifiable, consistent, and communicates its actions clearly,\n * and is appropriately sized to its action.\n * @see https://dialtone.dialpad.com/components/button.html\n */\nexport default {\n name: 'DtButton',\n\n props: {\n /**\n * Whether the button is a circle or not.\n * @values true, false\n */\n circle: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The position of the icon slot within the button.\n * @values left, right, top, bottom\n */\n iconPosition: {\n type: String,\n default: 'left',\n validator: (position) => Object.keys(ICON_POSITION_MODIFIERS).includes(position),\n },\n\n /**\n * The fill and outline of the button associated with its visual importance.\n * @values clear, outlined, primary\n */\n importance: {\n type: String,\n default: 'primary',\n validator: (i) => Object.keys(BUTTON_IMPORTANCE_MODIFIERS).includes(i),\n },\n\n /**\n * Whether the button should be styled as a link or not.\n * @values true, false\n * @see DtLink\n */\n link: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the link and button if the button is styled as a link.\n * @values default, warning, danger, success, muted\n * @see DtLink\n */\n linkKind: {\n type: String,\n default: 'default',\n validator: (lk) => Object.keys(LINK_KIND_MODIFIERS).includes(lk),\n },\n\n /**\n * Determines whether the link should have inverted styling if the button is styled as a link.\n * @values true, false\n * @see DtLink\n */\n linkInverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML button disabled attribute\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled\" target=\"_blank\"> (Reference) </a>\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML button type attribute\n * <a\n * class=\"d-link\"\n * href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type\"\n * target=\"_blank\"\n * >\n * (Reference)\n * </a>\n * @values button, submit, reset\n */\n type: {\n type: String,\n default: 'button',\n validator: (t) => BUTTON_TYPES.includes(t),\n },\n\n /**\n * Button width, accepts\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/width\" target=\"_blank\">\n * CSS width attribute\n * </a>\n * values\n */\n width: {\n type: String,\n default: null,\n },\n\n /**\n * The size of the button.\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(BUTTON_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Whether the button should display a loading animation or not.\n * @values true, false\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the button.\n * @values default, muted, danger, inverted\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(BUTTON_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * Determines whether a screenreader reads live updates of\n * the button content to the user while the button\n * is in focus. default is to not.\n * @values true, false\n */\n assertiveOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should have active styling\n * default is false.\n * @values true, false\n */\n active: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Native button focus in event\n *\n * @event focusin\n * @type {FocusEvent}\n */\n 'focusin',\n\n /**\n * Native button focus out event\n *\n * @event focusout\n * @type {FocusEvent}\n */\n 'focusout',\n ],\n\n data () {\n return {\n ICON_POSITION_MODIFIERS,\n // whether the button is currently in focus\n isInFocus: false,\n };\n },\n\n computed: {\n\n buttonListeners () {\n if (!this.assertiveOnFocus) {\n return this.$listeners;\n }\n return {\n ...this.$listeners,\n focusin: (e) => {\n this.isInFocus = true;\n },\n\n focusout: (e) => {\n this.isInFocus = false;\n },\n };\n },\n\n computedAriaLive () {\n return this.assertiveOnFocus && this.isInFocus ? 'assertive' : this.$attrs.ariaLive;\n },\n\n iconSize () {\n return BUTTON_ICON_SIZES[this.size];\n },\n },\n\n watch: {\n $props: {\n deep: true,\n immediate: true,\n handler () {\n if (process.env.NODE_ENV === 'production') return;\n\n if (this.circle && this.link) {\n Vue.util.warn('You cannot enable circle and link at the same time', this);\n }\n\n this.isInvalidPropCombination(this.circle, this.kind, this.importance);\n },\n },\n },\n\n methods: {\n buttonClasses () {\n if (this.link) {\n return [\n 'd-link',\n getLinkKindModifier(this.linkKind, this.linkInverted),\n BUTTON_SIZE_MODIFIERS[this.size],\n ];\n }\n return [\n 'd-btn',\n BUTTON_IMPORTANCE_MODIFIERS[this.importance],\n BUTTON_KIND_MODIFIERS[this.kind],\n BUTTON_SIZE_MODIFIERS[this.size],\n {\n 'd-btn--circle': this.circle,\n 'd-btn--loading': this.loading,\n 'd-btn--icon-only': this.isIconOnly(),\n 'd-btn--vertical': this.isVerticalIconLayout(),\n 'd-btn--active': this.active,\n },\n ];\n },\n\n isInvalidPropCombination (circle, kind, importance) {\n for (const row of INVALID_COMBINATION) {\n if (circle === row.circle && kind === row.kind && importance === row.importance) {\n console.warn(row.message);\n return false;\n }\n }\n return true;\n },\n\n shouldRenderIcon () {\n return this.$scopedSlots.icon && this.$scopedSlots.icon() && !this.link;\n },\n\n isIconOnly () {\n return this.shouldRenderIcon() && !this.$slots.default;\n },\n\n isVerticalIconLayout () {\n return !this.isIconOnly() && ['top', 'bottom'].includes(this.iconPosition);\n },\n },\n};\n</script>\n"],"names":["BUTTON_SIZE_MODIFIERS","xs","sm","md","lg","xl","BUTTON_KIND_MODIFIERS","default","muted","danger","inverted","BUTTON_IMPORTANCE_MODIFIERS","clear","primary","outlined","BUTTON_TYPES","ICON_POSITION_MODIFIERS","left","right","top","bottom","INVALID_COMBINATION","circle","kind","importance","message","_invalidCombinationMessage","BUTTON_ICON_SIZES","_sfc_main","name","props","type","Boolean","iconPosition","String","validator","position","Object","keys","includes","i","link","linkKind","lk","LINK_KIND_MODIFIERS","linkInverted","disabled","t","width","size","s","labelClass","Array","loading","k","assertiveOnFocus","active","emits","data","isInFocus","computed","buttonListeners","$listeners","focusin","e","focusout","computedAriaLive","$attrs","ariaLive","iconSize","watch","$props","deep","immediate","handler","process","env","NODE_ENV","Vue","util","warn","isInvalidPropCombination","methods","buttonClasses","getLinkKindModifier","isIconOnly","isVerticalIconLayout","row","console","shouldRenderIcon","$scopedSlots","icon","$slots"],"mappings":"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"}
1
+ {"version":3,"file":"button.js","sources":["../../components/button/button_constants.js","../../components/button/button.vue"],"sourcesContent":["export const BUTTON_SIZE_MODIFIERS = {\n xs: 'd-btn--xs',\n sm: 'd-btn--sm',\n md: '',\n lg: 'd-btn--lg',\n xl: 'd-btn--xl',\n};\n\nexport const BUTTON_KIND_MODIFIERS = {\n default: '',\n muted: 'd-btn--muted',\n danger: 'd-btn--danger',\n inverted: 'd-btn--inverted',\n};\n\nexport const BUTTON_IMPORTANCE_MODIFIERS = {\n clear: '',\n primary: 'd-btn--primary',\n outlined: 'd-btn--outlined',\n};\n\nexport const BUTTON_TYPES = ['submit', 'reset', 'button'];\n\nexport const ICON_POSITION_MODIFIERS = {\n left: 'd-btn__icon--left',\n right: 'd-btn__icon--right',\n top: 'd-btn__icon--top',\n bottom: 'd-btn__icon--bottom',\n};\n\nexport const INVALID_COMBINATION = [\n {\n circle: true,\n kind: 'default',\n importance: 'primary',\n message: _invalidCombinationMessage(true, 'default', 'primary'),\n },\n {\n circle: true,\n kind: 'danger',\n importance: 'outlined',\n message: _invalidCombinationMessage(true, 'danger', 'outlined'),\n },\n {\n circle: true,\n kind: 'muted',\n importance: 'primary',\n message: _invalidCombinationMessage(true, 'muted', 'primary'),\n },\n {\n circle: false,\n kind: 'muted',\n importance: 'primary',\n message: _invalidCombinationMessage(false, 'muted', 'primary'),\n },\n];\n\nexport const BUTTON_ICON_SIZES = {\n xs: '200',\n sm: '200',\n md: '300',\n lg: '400',\n xl: '500',\n};\n\nfunction _invalidCombinationMessage (circle, kind, importance) {\n return `You cannot have a ${circle ? 'circle ' : ''}button \\\nwith kind: ${kind} and importance: ${importance} as it \\\ndoes not exist in our design system. \\\nSee https://dialtone.dialpad.com/components/button.html for a \\\nlist of available button styles`;\n}\n\nexport default {\n BUTTON_SIZE_MODIFIERS,\n BUTTON_KIND_MODIFIERS,\n BUTTON_IMPORTANCE_MODIFIERS,\n BUTTON_TYPES,\n ICON_POSITION_MODIFIERS,\n INVALID_COMBINATION,\n BUTTON_ICON_SIZES,\n};\n","<template>\n <button\n :class=\"[\n 'base-button__button',\n buttonClasses(),\n ]\"\n data-qa=\"dt-button\"\n :type=\"type\"\n :disabled=\"disabled\"\n :style=\"{ width: width }\"\n :aria-live=\"computedAriaLive\"\n :aria-label=\"loading ? 'loading' : $attrs['aria-label']\"\n v-on=\"buttonListeners\"\n >\n <!-- NOTE(cormac): This span is needed since we can't apply styles to slots. -->\n <span\n v-if=\"shouldRenderIcon()\"\n data-qa=\"dt-button-icon\"\n :class=\"[\n 'base-button__icon',\n 'd-btn__icon',\n ICON_POSITION_MODIFIERS[iconPosition],\n ]\"\n >\n <!-- @slot Button icon -->\n <slot\n name=\"icon\"\n :icon-size=\"iconSize\"\n />\n </span>\n <span\n v-if=\"$slots.default\"\n data-qa=\"dt-button-label\"\n :class=\"['d-btn__label', 'base-button__label', labelClass]\"\n >\n <!-- @slot Content within button -->\n <slot />\n </span>\n </button>\n</template>\n\n<script>\nimport Vue from 'vue';\n\nimport {\n BUTTON_SIZE_MODIFIERS,\n BUTTON_KIND_MODIFIERS,\n BUTTON_IMPORTANCE_MODIFIERS,\n BUTTON_ICON_SIZES,\n BUTTON_TYPES,\n ICON_POSITION_MODIFIERS,\n INVALID_COMBINATION,\n} from './button_constants';\n\nimport { LINK_KIND_MODIFIERS, getLinkKindModifier } from '@/components/link';\n\n/**\n * A button is a UI element which allows users to take an action throughout the app.\n * It is important a button is identifiable, consistent, and communicates its actions clearly,\n * and is appropriately sized to its action.\n * @see https://dialtone.dialpad.com/components/button.html\n */\nexport default {\n name: 'DtButton',\n\n props: {\n /**\n * Whether the button is a circle or not.\n * @values true, false\n */\n circle: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The position of the icon slot within the button.\n * @values left, right, top, bottom\n */\n iconPosition: {\n type: String,\n default: 'left',\n validator: (position) => Object.keys(ICON_POSITION_MODIFIERS).includes(position),\n },\n\n /**\n * The fill and outline of the button associated with its visual importance.\n * @values clear, outlined, primary\n */\n importance: {\n type: String,\n default: 'primary',\n validator: (i) => Object.keys(BUTTON_IMPORTANCE_MODIFIERS).includes(i),\n },\n\n /**\n * Whether the button should be styled as a link or not.\n * @values true, false\n * @see DtLink\n */\n link: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the link and button if the button is styled as a link.\n * @values default, warning, danger, success, muted\n * @see DtLink\n */\n linkKind: {\n type: String,\n default: 'default',\n validator: (lk) => Object.keys(LINK_KIND_MODIFIERS).includes(lk),\n },\n\n /**\n * Determines whether the link should have inverted styling if the button is styled as a link.\n * @values true, false\n * @see DtLink\n */\n linkInverted: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML button disabled attribute\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#disabled\" target=\"_blank\"> (Reference) </a>\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * HTML button type attribute\n * <a\n * class=\"d-link\"\n * href=\"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type\"\n * target=\"_blank\"\n * >\n * (Reference)\n * </a>\n * @values button, submit, reset\n */\n type: {\n type: String,\n default: 'button',\n validator: (t) => BUTTON_TYPES.includes(t),\n },\n\n /**\n * Button width, accepts\n * <a class=\"d-link\" href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/width\" target=\"_blank\">\n * CSS width attribute\n * </a>\n * values\n */\n width: {\n type: String,\n default: null,\n },\n\n /**\n * The size of the button.\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(BUTTON_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Whether the button should display a loading animation or not.\n * @values true, false\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The color of the button.\n * @values default, muted, danger, inverted\n */\n kind: {\n type: String,\n default: 'default',\n validator: (k) => Object.keys(BUTTON_KIND_MODIFIERS).includes(k),\n },\n\n /**\n * Determines whether a screenreader reads live updates of\n * the button content to the user while the button\n * is in focus. default is to not.\n * @values true, false\n */\n assertiveOnFocus: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines whether the button should have active styling\n * default is false.\n * @values true, false\n */\n active: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Native button click event\n *\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Native button focus in event\n *\n * @event focusin\n * @type {FocusEvent}\n */\n 'focusin',\n\n /**\n * Native button focus out event\n *\n * @event focusout\n * @type {FocusEvent}\n */\n 'focusout',\n ],\n\n data () {\n return {\n ICON_POSITION_MODIFIERS,\n // whether the button is currently in focus\n isInFocus: false,\n };\n },\n\n computed: {\n\n buttonListeners () {\n if (!this.assertiveOnFocus) {\n return this.$listeners;\n }\n return {\n ...this.$listeners,\n focusin: (e) => {\n this.isInFocus = true;\n },\n\n focusout: (e) => {\n this.isInFocus = false;\n },\n };\n },\n\n computedAriaLive () {\n return this.assertiveOnFocus && this.isInFocus ? 'assertive' : this.$attrs.ariaLive;\n },\n\n iconSize () {\n return BUTTON_ICON_SIZES[this.size];\n },\n },\n\n watch: {\n $props: {\n deep: true,\n immediate: true,\n handler () {\n if (process.env.NODE_ENV === 'production') return;\n\n if (this.circle && this.link) {\n Vue.util.warn('You cannot enable circle and link at the same time', this);\n }\n\n this.isInvalidPropCombination(this.circle, this.kind, this.importance);\n },\n },\n },\n\n methods: {\n buttonClasses () {\n if (this.link) {\n return [\n 'd-link',\n getLinkKindModifier(this.linkKind, this.linkInverted),\n BUTTON_SIZE_MODIFIERS[this.size],\n ];\n }\n return [\n 'd-btn',\n BUTTON_IMPORTANCE_MODIFIERS[this.importance],\n BUTTON_KIND_MODIFIERS[this.kind],\n BUTTON_SIZE_MODIFIERS[this.size],\n {\n 'd-btn--circle': this.circle,\n 'd-btn--loading': this.loading,\n 'd-btn--icon-only': this.isIconOnly(),\n 'd-btn--vertical': this.isVerticalIconLayout(),\n 'd-btn--active': this.active,\n },\n ];\n },\n\n isInvalidPropCombination (circle, kind, importance) {\n for (const row of INVALID_COMBINATION) {\n if (circle === row.circle && kind === row.kind && importance === row.importance) {\n console.warn(row.message);\n return false;\n }\n }\n return true;\n },\n\n shouldRenderIcon () {\n return this.$scopedSlots.icon && this.$scopedSlots.icon() && !this.link;\n },\n\n isIconOnly () {\n return this.shouldRenderIcon() && !this.$slots.default;\n },\n\n isVerticalIconLayout () {\n return !this.isIconOnly() && ['top', 'bottom'].includes(this.iconPosition);\n },\n },\n};\n</script>\n"],"names":[],"mappings":"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"}