@dialpad/dialtone 9.65.1 → 9.66.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 (792) hide show
  1. package/dist/tokens/doc.json +17176 -17176
  2. package/dist/vue2/chunks/{dropdown-6UoczdUY.js → dropdown-YdCyJ5Dq.js} +77 -41
  3. package/dist/vue2/chunks/{dropdown-6UoczdUY.js.map → dropdown-YdCyJ5Dq.js.map} +1 -1
  4. package/dist/vue2/chunks/{dropdown-pHxnQPzT.js → dropdown-mjrYu_mK.js} +77 -41
  5. package/dist/vue2/chunks/{dropdown-pHxnQPzT.js.map → dropdown-mjrYu_mK.js.map} +1 -1
  6. package/dist/vue2/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  7. package/dist/vue2/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  8. package/dist/vue2/chunks/{icon_constants-Dy4MEUJL.js → icon_constants-TdxqLsS2.js} +3 -2
  9. package/dist/vue2/chunks/icon_constants-TdxqLsS2.js.map +1 -0
  10. package/dist/vue2/chunks/{icon_constants-QYpmdE0R.js → icon_constants-VEA0wI5C.js} +3 -2
  11. package/dist/vue2/chunks/icon_constants-VEA0wI5C.js.map +1 -0
  12. package/dist/vue2/chunks/{index-gj1jEXP4.js → index-DyqUqjvI.js} +122 -87
  13. package/dist/vue2/chunks/{index-gj1jEXP4.js.map → index-DyqUqjvI.js.map} +1 -1
  14. package/dist/vue2/chunks/{index-anN_sx1F.js → index-NYFNZeHH.js} +5 -13
  15. package/dist/vue2/chunks/{index-anN_sx1F.js.map → index-NYFNZeHH.js.map} +1 -1
  16. package/dist/vue2/chunks/{index-ODod4Oj_.js → index-i65YVk-U.js} +5 -13
  17. package/dist/vue2/chunks/{index-ODod4Oj_.js.map → index-i65YVk-U.js.map} +1 -1
  18. package/dist/vue2/chunks/{index-eJ-WWRdf.js → index-mBWay1Qb.js} +122 -87
  19. package/dist/vue2/chunks/{index-eJ-WWRdf.js.map → index-mBWay1Qb.js.map} +1 -1
  20. package/dist/vue2/chunks/{input-Axw-wFj2.js → input-Hqw33WBe.js} +3 -9
  21. package/dist/vue2/chunks/{input-Axw-wFj2.js.map → input-Hqw33WBe.js.map} +1 -1
  22. package/dist/vue2/chunks/{input-6kbd8Pju.js → input-PhJeBN6r.js} +3 -9
  23. package/dist/vue2/chunks/{input-6kbd8Pju.js.map → input-PhJeBN6r.js.map} +1 -1
  24. package/dist/vue2/chunks/{input_group-qVZaS5Bb.js → input_group-ZI7aVGEp.js} +4 -2
  25. package/dist/vue2/chunks/{input_group-m3cWYUfI.js.map → input_group-ZI7aVGEp.js.map} +1 -1
  26. package/dist/vue2/chunks/{input_group-m3cWYUfI.js → input_group-pE6ec9R3.js} +4 -2
  27. package/dist/vue2/chunks/{input_group-qVZaS5Bb.js.map → input_group-pE6ec9R3.js.map} +1 -1
  28. package/dist/vue2/chunks/{keyboard_list_navigation-ScXhrxya.js → keyboard_list_navigation-YIqTuw1W.js} +6 -5
  29. package/dist/vue2/chunks/{keyboard_list_navigation-fJnl_Iox.js.map → keyboard_list_navigation-YIqTuw1W.js.map} +1 -1
  30. package/dist/vue2/chunks/{keyboard_list_navigation-fJnl_Iox.js → keyboard_list_navigation-x3D6RcC7.js} +6 -5
  31. package/dist/vue2/chunks/{keyboard_list_navigation-ScXhrxya.js.map → keyboard_list_navigation-x3D6RcC7.js.map} +1 -1
  32. package/dist/vue2/chunks/link_constants-AfTWrr-n.js.map +1 -1
  33. package/dist/vue2/chunks/link_constants-x8NwdqmA.js.map +1 -1
  34. package/dist/vue2/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  35. package/dist/vue2/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  36. package/dist/vue2/chunks/{modal-XOr4kiNZ.js → modal-8X6poIZW.js} +4 -2
  37. package/dist/{vue3/chunks/modal-XOr4kiNZ.js.map → vue2/chunks/modal-8X6poIZW.js.map} +1 -1
  38. package/dist/vue2/chunks/{modal-VgxXAQFP.js → modal-OaWxzqNt.js} +4 -2
  39. package/dist/vue2/chunks/{modal-VgxXAQFP.js.map → modal-OaWxzqNt.js.map} +1 -1
  40. package/dist/vue2/chunks/{notice_action-IRUoLX2d.js → notice_action-qQr3K2TC.js} +71 -46
  41. package/dist/vue2/chunks/{notice_action-IRUoLX2d.js.map → notice_action-qQr3K2TC.js.map} +1 -1
  42. package/dist/vue2/chunks/{notice_action-P6uDyE9x.js → notice_action-tEvvMg7Q.js} +71 -46
  43. package/dist/vue2/chunks/{notice_action-P6uDyE9x.js.map → notice_action-tEvvMg7Q.js.map} +1 -1
  44. package/dist/vue2/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  45. package/dist/vue2/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  46. package/dist/vue2/chunks/{popover_constants-WsOUIY-m.js → popover_constants-6YkPPbnk.js} +26 -47
  47. package/dist/vue2/chunks/{popover_constants-WsOUIY-m.js.map → popover_constants-6YkPPbnk.js.map} +1 -1
  48. package/dist/vue2/chunks/{popover_constants-XnGWXaxX.js → popover_constants-h9MD6WUt.js} +26 -47
  49. package/dist/{vue3/chunks/popover_constants-WsOUIY-m.js.map → vue2/chunks/popover_constants-h9MD6WUt.js.map} +1 -1
  50. package/dist/vue2/chunks/{sr_only_close_button-ZaGdAHz7.js → sr_only_close_button-2Q9Ny1Nc.js} +24 -18
  51. package/dist/vue2/chunks/{sr_only_close_button-ZaGdAHz7.js.map → sr_only_close_button-2Q9Ny1Nc.js.map} +1 -1
  52. package/dist/vue2/chunks/{sr_only_close_button-81bHIpPu.js → sr_only_close_button-IjMVfBDE.js} +24 -18
  53. package/dist/vue2/chunks/{sr_only_close_button-81bHIpPu.js.map → sr_only_close_button-IjMVfBDE.js.map} +1 -1
  54. package/dist/vue2/chunks/stack_constants-HraCekPm.js.map +1 -1
  55. package/dist/vue2/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  56. package/dist/vue2/chunks/{tab-FcsV5VmK.js → tab-79yMX6m6.js} +86 -68
  57. package/dist/vue2/chunks/{tab-V4cb44Ry.js.map → tab-79yMX6m6.js.map} +1 -1
  58. package/dist/vue2/chunks/{tab-V4cb44Ry.js → tab-muPOS7JE.js} +86 -68
  59. package/dist/vue2/chunks/{tab-FcsV5VmK.js.map → tab-muPOS7JE.js.map} +1 -1
  60. package/dist/vue2/common/constants.cjs.map +1 -1
  61. package/dist/vue2/common/constants.js.map +1 -1
  62. package/dist/vue2/common/dates.cjs +3 -1
  63. package/dist/vue2/common/dates.cjs.map +1 -1
  64. package/dist/vue2/common/dates.js +3 -1
  65. package/dist/vue2/common/dates.js.map +1 -1
  66. package/dist/vue2/common/emoji.cjs +1 -1
  67. package/dist/vue2/common/emoji.js +1 -1
  68. package/dist/vue2/common/mixins.cjs +3 -3
  69. package/dist/vue2/common/mixins.js +3 -3
  70. package/dist/vue2/common/utils.cjs +8 -44
  71. package/dist/vue2/common/utils.cjs.map +1 -1
  72. package/dist/vue2/common/utils.js +8 -44
  73. package/dist/vue2/common/utils.js.map +1 -1
  74. package/dist/vue2/common/validators.cjs.map +1 -1
  75. package/dist/vue2/common/validators.js.map +1 -1
  76. package/dist/vue2/component-documentation.json +1 -1
  77. package/dist/vue2/dialtone-vue.cjs +12 -12
  78. package/dist/vue2/dialtone-vue.js +12 -12
  79. package/dist/vue2/lib/attachment-carousel.cjs +172 -48
  80. package/dist/vue2/lib/attachment-carousel.cjs.map +1 -1
  81. package/dist/vue2/lib/attachment-carousel.js +172 -48
  82. package/dist/vue2/lib/attachment-carousel.js.map +1 -1
  83. package/dist/vue2/lib/avatar.cjs +75 -58
  84. package/dist/vue2/lib/avatar.cjs.map +1 -1
  85. package/dist/vue2/lib/avatar.js +75 -58
  86. package/dist/vue2/lib/avatar.js.map +1 -1
  87. package/dist/vue2/lib/badge.cjs +31 -20
  88. package/dist/vue2/lib/badge.cjs.map +1 -1
  89. package/dist/vue2/lib/badge.js +31 -20
  90. package/dist/vue2/lib/badge.js.map +1 -1
  91. package/dist/vue2/lib/banner.cjs +53 -29
  92. package/dist/vue2/lib/banner.cjs.map +1 -1
  93. package/dist/vue2/lib/banner.js +53 -29
  94. package/dist/vue2/lib/banner.js.map +1 -1
  95. package/dist/vue2/lib/breadcrumbs.cjs +36 -30
  96. package/dist/vue2/lib/breadcrumbs.cjs.map +1 -1
  97. package/dist/vue2/lib/breadcrumbs.js +36 -30
  98. package/dist/vue2/lib/breadcrumbs.js.map +1 -1
  99. package/dist/vue2/lib/button-group.cjs +7 -14
  100. package/dist/vue2/lib/button-group.cjs.map +1 -1
  101. package/dist/vue2/lib/button-group.js +7 -14
  102. package/dist/vue2/lib/button-group.js.map +1 -1
  103. package/dist/vue2/lib/button.cjs +55 -62
  104. package/dist/vue2/lib/button.cjs.map +1 -1
  105. package/dist/vue2/lib/button.js +55 -62
  106. package/dist/vue2/lib/button.js.map +1 -1
  107. package/dist/vue2/lib/callbar-button-with-popover.cjs +91 -23
  108. package/dist/vue2/lib/callbar-button-with-popover.cjs.map +1 -1
  109. package/dist/vue2/lib/callbar-button-with-popover.js +91 -23
  110. package/dist/vue2/lib/callbar-button-with-popover.js.map +1 -1
  111. package/dist/vue2/lib/callbar-button.cjs +49 -33
  112. package/dist/vue2/lib/callbar-button.cjs.map +1 -1
  113. package/dist/vue2/lib/callbar-button.js +49 -33
  114. package/dist/vue2/lib/callbar-button.js.map +1 -1
  115. package/dist/vue2/lib/callbox.cjs +78 -15
  116. package/dist/vue2/lib/callbox.cjs.map +1 -1
  117. package/dist/vue2/lib/callbox.js +78 -15
  118. package/dist/vue2/lib/callbox.js.map +1 -1
  119. package/dist/vue2/lib/card.cjs +16 -23
  120. package/dist/vue2/lib/card.cjs.map +1 -1
  121. package/dist/vue2/lib/card.js +16 -23
  122. package/dist/vue2/lib/card.js.map +1 -1
  123. package/dist/vue2/lib/checkbox-group.cjs +3 -15
  124. package/dist/vue2/lib/checkbox-group.cjs.map +1 -1
  125. package/dist/vue2/lib/checkbox-group.js +3 -15
  126. package/dist/vue2/lib/checkbox-group.js.map +1 -1
  127. package/dist/vue2/lib/checkbox.cjs +52 -16
  128. package/dist/vue2/lib/checkbox.cjs.map +1 -1
  129. package/dist/vue2/lib/checkbox.js +52 -16
  130. package/dist/vue2/lib/checkbox.js.map +1 -1
  131. package/dist/vue2/lib/chip.cjs +58 -26
  132. package/dist/vue2/lib/chip.cjs.map +1 -1
  133. package/dist/vue2/lib/chip.js +58 -26
  134. package/dist/vue2/lib/chip.js.map +1 -1
  135. package/dist/vue2/lib/codeblock.cjs +4 -11
  136. package/dist/vue2/lib/codeblock.cjs.map +1 -1
  137. package/dist/vue2/lib/codeblock.js +4 -11
  138. package/dist/vue2/lib/codeblock.js.map +1 -1
  139. package/dist/vue2/lib/collapsible.cjs +91 -34
  140. package/dist/vue2/lib/collapsible.cjs.map +1 -1
  141. package/dist/vue2/lib/collapsible.js +91 -34
  142. package/dist/vue2/lib/collapsible.js.map +1 -1
  143. package/dist/vue2/lib/combobox-multi-select.cjs +131 -38
  144. package/dist/vue2/lib/combobox-multi-select.cjs.map +1 -1
  145. package/dist/vue2/lib/combobox-multi-select.js +131 -38
  146. package/dist/vue2/lib/combobox-multi-select.js.map +1 -1
  147. package/dist/vue2/lib/combobox-with-popover.cjs +130 -39
  148. package/dist/vue2/lib/combobox-with-popover.cjs.map +1 -1
  149. package/dist/vue2/lib/combobox-with-popover.js +130 -39
  150. package/dist/vue2/lib/combobox-with-popover.js.map +1 -1
  151. package/dist/vue2/lib/combobox.cjs +3 -3
  152. package/dist/vue2/lib/combobox.js +3 -3
  153. package/dist/vue2/lib/contact-centers-row.cjs +86 -29
  154. package/dist/vue2/lib/contact-centers-row.cjs.map +1 -1
  155. package/dist/vue2/lib/contact-centers-row.js +86 -29
  156. package/dist/vue2/lib/contact-centers-row.js.map +1 -1
  157. package/dist/vue2/lib/contact-info.cjs +95 -24
  158. package/dist/vue2/lib/contact-info.cjs.map +1 -1
  159. package/dist/vue2/lib/contact-info.js +95 -24
  160. package/dist/vue2/lib/contact-info.js.map +1 -1
  161. package/dist/vue2/lib/contact-row.cjs +61 -18
  162. package/dist/vue2/lib/contact-row.cjs.map +1 -1
  163. package/dist/vue2/lib/contact-row.js +61 -18
  164. package/dist/vue2/lib/contact-row.js.map +1 -1
  165. package/dist/vue2/lib/datepicker.cjs +361 -102
  166. package/dist/vue2/lib/datepicker.cjs.map +1 -1
  167. package/dist/vue2/lib/datepicker.js +361 -102
  168. package/dist/vue2/lib/datepicker.js.map +1 -1
  169. package/dist/vue2/lib/description-list.cjs +11 -12
  170. package/dist/vue2/lib/description-list.cjs.map +1 -1
  171. package/dist/vue2/lib/description-list.js +11 -12
  172. package/dist/vue2/lib/description-list.js.map +1 -1
  173. package/dist/vue2/lib/dropdown.cjs +13 -17
  174. package/dist/vue2/lib/dropdown.cjs.map +1 -1
  175. package/dist/vue2/lib/dropdown.js +13 -17
  176. package/dist/vue2/lib/dropdown.js.map +1 -1
  177. package/dist/vue2/lib/editor.cjs +409 -109
  178. package/dist/vue2/lib/editor.cjs.map +1 -1
  179. package/dist/vue2/lib/editor.js +409 -109
  180. package/dist/vue2/lib/editor.js.map +1 -1
  181. package/dist/vue2/lib/emoji-picker.cjs +512 -234
  182. package/dist/vue2/lib/emoji-picker.cjs.map +1 -1
  183. package/dist/vue2/lib/emoji-picker.js +512 -234
  184. package/dist/vue2/lib/emoji-picker.js.map +1 -1
  185. package/dist/vue2/lib/emoji-row.cjs +69 -31
  186. package/dist/vue2/lib/emoji-row.cjs.map +1 -1
  187. package/dist/vue2/lib/emoji-row.js +69 -31
  188. package/dist/vue2/lib/emoji-row.js.map +1 -1
  189. package/dist/vue2/lib/emoji-text-wrapper.cjs +14 -22
  190. package/dist/vue2/lib/emoji-text-wrapper.cjs.map +1 -1
  191. package/dist/vue2/lib/emoji-text-wrapper.js +14 -22
  192. package/dist/vue2/lib/emoji-text-wrapper.js.map +1 -1
  193. package/dist/vue2/lib/emoji.cjs +40 -13
  194. package/dist/vue2/lib/emoji.cjs.map +1 -1
  195. package/dist/vue2/lib/emoji.js +40 -13
  196. package/dist/vue2/lib/emoji.js.map +1 -1
  197. package/dist/vue2/lib/empty-state.cjs +27 -12
  198. package/dist/vue2/lib/empty-state.cjs.map +1 -1
  199. package/dist/vue2/lib/empty-state.js +27 -12
  200. package/dist/vue2/lib/empty-state.js.map +1 -1
  201. package/dist/vue2/lib/feed-item-row.cjs +106 -27
  202. package/dist/vue2/lib/feed-item-row.cjs.map +1 -1
  203. package/dist/vue2/lib/feed-item-row.js +106 -27
  204. package/dist/vue2/lib/feed-item-row.js.map +1 -1
  205. package/dist/vue2/lib/feed-pill.cjs +90 -35
  206. package/dist/vue2/lib/feed-pill.cjs.map +1 -1
  207. package/dist/vue2/lib/feed-pill.js +90 -35
  208. package/dist/vue2/lib/feed-pill.js.map +1 -1
  209. package/dist/vue2/lib/general-row.cjs +184 -75
  210. package/dist/vue2/lib/general-row.cjs.map +1 -1
  211. package/dist/vue2/lib/general-row.js +184 -75
  212. package/dist/vue2/lib/general-row.js.map +1 -1
  213. package/dist/vue2/lib/group-row.cjs +27 -16
  214. package/dist/vue2/lib/group-row.cjs.map +1 -1
  215. package/dist/vue2/lib/group-row.js +27 -16
  216. package/dist/vue2/lib/group-row.js.map +1 -1
  217. package/dist/vue2/lib/grouped-chip.cjs +68 -20
  218. package/dist/vue2/lib/grouped-chip.cjs.map +1 -1
  219. package/dist/vue2/lib/grouped-chip.js +68 -20
  220. package/dist/vue2/lib/grouped-chip.js.map +1 -1
  221. package/dist/vue2/lib/hovercard.cjs +71 -41
  222. package/dist/vue2/lib/hovercard.cjs.map +1 -1
  223. package/dist/vue2/lib/hovercard.js +71 -41
  224. package/dist/vue2/lib/hovercard.js.map +1 -1
  225. package/dist/vue2/lib/icon.cjs +10 -12
  226. package/dist/vue2/lib/icon.cjs.map +1 -1
  227. package/dist/vue2/lib/icon.js +10 -12
  228. package/dist/vue2/lib/icon.js.map +1 -1
  229. package/dist/vue2/lib/illustration.cjs +9 -12
  230. package/dist/vue2/lib/illustration.cjs.map +1 -1
  231. package/dist/vue2/lib/illustration.js +9 -12
  232. package/dist/vue2/lib/illustration.js.map +1 -1
  233. package/dist/vue2/lib/image-viewer.cjs +98 -23
  234. package/dist/vue2/lib/image-viewer.cjs.map +1 -1
  235. package/dist/vue2/lib/image-viewer.js +98 -23
  236. package/dist/vue2/lib/image-viewer.js.map +1 -1
  237. package/dist/vue2/lib/input-group.cjs +24 -14
  238. package/dist/vue2/lib/input-group.cjs.map +1 -1
  239. package/dist/vue2/lib/input-group.js +24 -14
  240. package/dist/vue2/lib/input-group.js.map +1 -1
  241. package/dist/vue2/lib/input.cjs +108 -40
  242. package/dist/vue2/lib/input.cjs.map +1 -1
  243. package/dist/vue2/lib/input.js +108 -40
  244. package/dist/vue2/lib/input.js.map +1 -1
  245. package/dist/vue2/lib/item-layout.cjs +42 -11
  246. package/dist/vue2/lib/item-layout.cjs.map +1 -1
  247. package/dist/vue2/lib/item-layout.js +42 -11
  248. package/dist/vue2/lib/item-layout.js.map +1 -1
  249. package/dist/vue2/lib/ivr-node.cjs +135 -47
  250. package/dist/vue2/lib/ivr-node.cjs.map +1 -1
  251. package/dist/vue2/lib/ivr-node.js +135 -47
  252. package/dist/vue2/lib/ivr-node.js.map +1 -1
  253. package/dist/vue2/lib/keyboard-shortcut.cjs +35 -23
  254. package/dist/vue2/lib/keyboard-shortcut.cjs.map +1 -1
  255. package/dist/vue2/lib/keyboard-shortcut.js +35 -23
  256. package/dist/vue2/lib/keyboard-shortcut.js.map +1 -1
  257. package/dist/vue2/lib/lazy-show.cjs +15 -11
  258. package/dist/vue2/lib/lazy-show.cjs.map +1 -1
  259. package/dist/vue2/lib/lazy-show.js +15 -11
  260. package/dist/vue2/lib/lazy-show.js.map +1 -1
  261. package/dist/vue2/lib/link.cjs +9 -15
  262. package/dist/vue2/lib/link.cjs.map +1 -1
  263. package/dist/vue2/lib/link.js +9 -15
  264. package/dist/vue2/lib/link.js.map +1 -1
  265. package/dist/vue2/lib/list-item-group.cjs +17 -11
  266. package/dist/vue2/lib/list-item-group.cjs.map +1 -1
  267. package/dist/vue2/lib/list-item-group.js +17 -11
  268. package/dist/vue2/lib/list-item-group.js.map +1 -1
  269. package/dist/vue2/lib/list-item.cjs +42 -23
  270. package/dist/vue2/lib/list-item.cjs.map +1 -1
  271. package/dist/vue2/lib/list-item.js +42 -23
  272. package/dist/vue2/lib/list-item.js.map +1 -1
  273. package/dist/vue2/lib/message-input.cjs +360 -97
  274. package/dist/vue2/lib/message-input.cjs.map +1 -1
  275. package/dist/vue2/lib/message-input.js +360 -97
  276. package/dist/vue2/lib/message-input.js.map +1 -1
  277. package/dist/vue2/lib/modal.cjs +94 -36
  278. package/dist/vue2/lib/modal.cjs.map +1 -1
  279. package/dist/vue2/lib/modal.js +94 -36
  280. package/dist/vue2/lib/modal.js.map +1 -1
  281. package/dist/vue2/lib/notice.cjs +40 -21
  282. package/dist/vue2/lib/notice.cjs.map +1 -1
  283. package/dist/vue2/lib/notice.js +40 -21
  284. package/dist/vue2/lib/notice.js.map +1 -1
  285. package/dist/vue2/lib/pagination.cjs +81 -20
  286. package/dist/vue2/lib/pagination.cjs.map +1 -1
  287. package/dist/vue2/lib/pagination.js +81 -20
  288. package/dist/vue2/lib/pagination.js.map +1 -1
  289. package/dist/vue2/lib/popover.cjs +194 -75
  290. package/dist/vue2/lib/popover.cjs.map +1 -1
  291. package/dist/vue2/lib/popover.js +195 -76
  292. package/dist/vue2/lib/popover.js.map +1 -1
  293. package/dist/vue2/lib/presence.cjs +23 -22
  294. package/dist/vue2/lib/presence.cjs.map +1 -1
  295. package/dist/vue2/lib/presence.js +23 -22
  296. package/dist/vue2/lib/presence.js.map +1 -1
  297. package/dist/vue2/lib/radio-group.cjs +2 -11
  298. package/dist/vue2/lib/radio-group.cjs.map +1 -1
  299. package/dist/vue2/lib/radio-group.js +2 -11
  300. package/dist/vue2/lib/radio-group.js.map +1 -1
  301. package/dist/vue2/lib/radio.cjs +47 -15
  302. package/dist/vue2/lib/radio.cjs.map +1 -1
  303. package/dist/vue2/lib/radio.js +47 -15
  304. package/dist/vue2/lib/radio.js.map +1 -1
  305. package/dist/vue2/lib/rich-text-editor.cjs +336 -317
  306. package/dist/vue2/lib/rich-text-editor.cjs.map +1 -1
  307. package/dist/vue2/lib/rich-text-editor.js +336 -317
  308. package/dist/vue2/lib/rich-text-editor.js.map +1 -1
  309. package/dist/vue2/lib/root-layout.cjs +33 -15
  310. package/dist/vue2/lib/root-layout.cjs.map +1 -1
  311. package/dist/vue2/lib/root-layout.js +33 -15
  312. package/dist/vue2/lib/root-layout.js.map +1 -1
  313. package/dist/vue2/lib/scrollbar-directive.cjs.map +1 -1
  314. package/dist/vue2/lib/scrollbar-directive.js.map +1 -1
  315. package/dist/vue2/lib/select-menu.cjs +52 -33
  316. package/dist/vue2/lib/select-menu.cjs.map +1 -1
  317. package/dist/vue2/lib/select-menu.js +52 -33
  318. package/dist/vue2/lib/select-menu.js.map +1 -1
  319. package/dist/vue2/lib/settings-menu-button.cjs +42 -16
  320. package/dist/vue2/lib/settings-menu-button.cjs.map +1 -1
  321. package/dist/vue2/lib/settings-menu-button.js +42 -16
  322. package/dist/vue2/lib/settings-menu-button.js.map +1 -1
  323. package/dist/vue2/lib/skeleton.cjs +118 -93
  324. package/dist/vue2/lib/skeleton.cjs.map +1 -1
  325. package/dist/vue2/lib/skeleton.js +118 -93
  326. package/dist/vue2/lib/skeleton.js.map +1 -1
  327. package/dist/vue2/lib/split-button.cjs +164 -64
  328. package/dist/vue2/lib/split-button.cjs.map +1 -1
  329. package/dist/vue2/lib/split-button.js +164 -64
  330. package/dist/vue2/lib/split-button.js.map +1 -1
  331. package/dist/vue2/lib/stack.cjs +21 -33
  332. package/dist/vue2/lib/stack.cjs.map +1 -1
  333. package/dist/vue2/lib/stack.js +21 -33
  334. package/dist/vue2/lib/stack.js.map +1 -1
  335. package/dist/vue2/lib/tabs.cjs +20 -13
  336. package/dist/vue2/lib/tabs.cjs.map +1 -1
  337. package/dist/vue2/lib/tabs.js +20 -13
  338. package/dist/vue2/lib/tabs.js.map +1 -1
  339. package/dist/vue2/lib/time-pill.cjs +8 -11
  340. package/dist/vue2/lib/time-pill.cjs.map +1 -1
  341. package/dist/vue2/lib/time-pill.js +8 -11
  342. package/dist/vue2/lib/time-pill.js.map +1 -1
  343. package/dist/vue2/lib/toast.cjs +42 -21
  344. package/dist/vue2/lib/toast.cjs.map +1 -1
  345. package/dist/vue2/lib/toast.js +42 -21
  346. package/dist/vue2/lib/toast.js.map +1 -1
  347. package/dist/vue2/lib/toggle.cjs +28 -24
  348. package/dist/vue2/lib/toggle.cjs.map +1 -1
  349. package/dist/vue2/lib/toggle.js +28 -24
  350. package/dist/vue2/lib/toggle.js.map +1 -1
  351. package/dist/vue2/lib/tooltip-directive.cjs +32 -26
  352. package/dist/vue2/lib/tooltip-directive.cjs.map +1 -1
  353. package/dist/vue2/lib/tooltip-directive.js +32 -26
  354. package/dist/vue2/lib/tooltip-directive.js.map +1 -1
  355. package/dist/vue2/lib/tooltip.cjs +31 -21
  356. package/dist/vue2/lib/tooltip.cjs.map +1 -1
  357. package/dist/vue2/lib/tooltip.js +32 -22
  358. package/dist/vue2/lib/tooltip.js.map +1 -1
  359. package/dist/vue2/lib/top-banner-info.cjs +18 -21
  360. package/dist/vue2/lib/top-banner-info.cjs.map +1 -1
  361. package/dist/vue2/lib/top-banner-info.js +18 -21
  362. package/dist/vue2/lib/top-banner-info.js.map +1 -1
  363. package/dist/vue2/lib/unread-pill.cjs +18 -12
  364. package/dist/vue2/lib/unread-pill.cjs.map +1 -1
  365. package/dist/vue2/lib/unread-pill.js +18 -12
  366. package/dist/vue2/lib/unread-pill.js.map +1 -1
  367. package/dist/vue2/lib/validation-messages.cjs +23 -16
  368. package/dist/vue2/lib/validation-messages.cjs.map +1 -1
  369. package/dist/vue2/lib/validation-messages.js +23 -16
  370. package/dist/vue2/lib/validation-messages.js.map +1 -1
  371. package/dist/vue2/types/common/emoji/index.d.ts +2 -59236
  372. package/dist/vue2/types/common/emoji/index.d.ts.map +1 -1
  373. package/dist/vue2/types/components/button/button.vue.d.ts +1 -1
  374. package/dist/vue2/types/components/chip/chip.vue.d.ts +1 -1
  375. package/dist/vue2/types/components/combobox/combobox.vue.d.ts +1 -1
  376. package/dist/vue2/types/components/icon/icon.vue.d.ts +2 -2
  377. package/dist/vue2/types/components/icon/icon_constants.d.ts +1 -1
  378. package/dist/vue2/types/components/icon/icon_constants.d.ts.map +1 -1
  379. package/dist/vue2/types/components/illustration/illustration.vue.d.ts +2 -2
  380. package/dist/vue2/types/components/illustration/illustration_constants.d.ts +1 -1
  381. package/dist/vue2/types/components/illustration/illustration_constants.d.ts.map +1 -1
  382. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts +21 -0
  383. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  384. package/dist/vue2/types/components/input/input.vue.d.ts +1 -1
  385. package/dist/vue2/types/components/modal/modal.vue.d.ts +1 -1
  386. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
  387. package/dist/vue2/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  388. package/dist/vue2/types/components/toast/toast.vue.d.ts +1 -1
  389. package/dist/vue2/types/components/tooltip/tooltip.vue.d.ts +1 -1
  390. package/dist/vue2/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  391. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  392. package/dist/vue2/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  393. package/dist/vue3/chunks/{dropdown-oA-_Gotg.js → dropdown-6HXkh24e.js} +40 -45
  394. package/dist/vue3/chunks/{dropdown-p-Azgwov.js.map → dropdown-6HXkh24e.js.map} +1 -1
  395. package/dist/vue3/chunks/{dropdown-p-Azgwov.js → dropdown-QNvAb160.js} +40 -45
  396. package/dist/vue3/chunks/{dropdown-oA-_Gotg.js.map → dropdown-QNvAb160.js.map} +1 -1
  397. package/dist/vue3/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
  398. package/dist/vue3/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
  399. package/dist/vue3/chunks/{icon_constants-QYpmdE0R.js → icon_constants-bvhFNOPu.js} +3 -2
  400. package/dist/vue3/chunks/icon_constants-bvhFNOPu.js.map +1 -0
  401. package/dist/vue3/chunks/{icon_constants-Dy4MEUJL.js → icon_constants-gIQj4mf7.js} +3 -2
  402. package/dist/vue3/chunks/icon_constants-gIQj4mf7.js.map +1 -0
  403. package/dist/vue3/chunks/{index-b_MgDylR.js → index-T15rAIdX.js} +71 -84
  404. package/dist/vue3/chunks/{index-b_MgDylR.js.map → index-T15rAIdX.js.map} +1 -1
  405. package/dist/vue3/chunks/{index-GVD15GIB.js → index-dfdrE-3M.js} +3 -12
  406. package/dist/vue3/chunks/{index-GVD15GIB.js.map → index-dfdrE-3M.js.map} +1 -1
  407. package/dist/vue3/chunks/{index-lu2o2f4r.js → index-fEp0B-5Z.js} +3 -12
  408. package/dist/vue3/chunks/{index-lu2o2f4r.js.map → index-fEp0B-5Z.js.map} +1 -1
  409. package/dist/vue3/chunks/{index-4qgKeErp.js → index-ouh7Bvm-.js} +71 -84
  410. package/dist/vue3/chunks/{index-4qgKeErp.js.map → index-ouh7Bvm-.js.map} +1 -1
  411. package/dist/vue3/chunks/{input-NmYDD5bn.js → input-HIysg24t.js} +3 -9
  412. package/dist/vue3/chunks/{input-NmYDD5bn.js.map → input-HIysg24t.js.map} +1 -1
  413. package/dist/vue3/chunks/{input-ttnte8zB.js → input-dLLo3Wtg.js} +3 -9
  414. package/dist/vue3/chunks/{input-ttnte8zB.js.map → input-dLLo3Wtg.js.map} +1 -1
  415. package/dist/vue3/chunks/{input_group-jWnq2DJT.js → input_group-hV1WT2it.js} +4 -2
  416. package/dist/vue3/chunks/{input_group-jWnq2DJT.js.map → input_group-hV1WT2it.js.map} +1 -1
  417. package/dist/vue3/chunks/{input_group-M-D25pOJ.js → input_group-rE6nhye8.js} +4 -2
  418. package/dist/vue3/chunks/{input_group-M-D25pOJ.js.map → input_group-rE6nhye8.js.map} +1 -1
  419. package/dist/vue3/chunks/{keyboard_list_navigation-ScXhrxya.js → keyboard_list_navigation-YIqTuw1W.js} +6 -5
  420. package/dist/vue3/chunks/{keyboard_list_navigation-fJnl_Iox.js.map → keyboard_list_navigation-YIqTuw1W.js.map} +1 -1
  421. package/dist/vue3/chunks/{keyboard_list_navigation-fJnl_Iox.js → keyboard_list_navigation-x3D6RcC7.js} +6 -5
  422. package/dist/vue3/chunks/{keyboard_list_navigation-ScXhrxya.js.map → keyboard_list_navigation-x3D6RcC7.js.map} +1 -1
  423. package/dist/vue3/chunks/link_constants-AfTWrr-n.js.map +1 -1
  424. package/dist/vue3/chunks/link_constants-x8NwdqmA.js.map +1 -1
  425. package/dist/vue3/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
  426. package/dist/vue3/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
  427. package/dist/vue3/chunks/{modal-XOr4kiNZ.js → modal-8X6poIZW.js} +4 -2
  428. package/dist/vue3/chunks/{modal-VgxXAQFP.js.map → modal-8X6poIZW.js.map} +1 -1
  429. package/dist/vue3/chunks/{modal-VgxXAQFP.js → modal-OaWxzqNt.js} +4 -2
  430. package/dist/{vue2/chunks/modal-XOr4kiNZ.js.map → vue3/chunks/modal-OaWxzqNt.js.map} +1 -1
  431. package/dist/vue3/chunks/{notice_action-WTucGhvr.js → notice_action-3ed0uIMN.js} +40 -61
  432. package/dist/vue3/chunks/{notice_action-p-ePanW_.js.map → notice_action-3ed0uIMN.js.map} +1 -1
  433. package/dist/vue3/chunks/{notice_action-p-ePanW_.js → notice_action-e08Lw5W6.js} +40 -61
  434. package/dist/vue3/chunks/{notice_action-WTucGhvr.js.map → notice_action-e08Lw5W6.js.map} +1 -1
  435. package/dist/vue3/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
  436. package/dist/vue3/chunks/notice_constants-UXo9e3bS.js.map +1 -1
  437. package/dist/vue3/chunks/{popover_constants-WsOUIY-m.js → popover_constants-6YkPPbnk.js} +26 -47
  438. package/dist/{vue2/chunks/popover_constants-XnGWXaxX.js.map → vue3/chunks/popover_constants-6YkPPbnk.js.map} +1 -1
  439. package/dist/vue3/chunks/{popover_constants-XnGWXaxX.js → popover_constants-h9MD6WUt.js} +26 -47
  440. package/dist/vue3/chunks/{popover_constants-XnGWXaxX.js.map → popover_constants-h9MD6WUt.js.map} +1 -1
  441. package/dist/vue3/chunks/{sr_only_close_button-3EdsV-dH.js → sr_only_close_button-Ji3Zlts6.js} +4 -4
  442. package/dist/vue3/chunks/{sr_only_close_button-3EdsV-dH.js.map → sr_only_close_button-Ji3Zlts6.js.map} +1 -1
  443. package/dist/vue3/chunks/{sr_only_close_button-xGrHFjwA.js → sr_only_close_button-gKr0Vlbz.js} +4 -4
  444. package/dist/vue3/chunks/{sr_only_close_button-xGrHFjwA.js.map → sr_only_close_button-gKr0Vlbz.js.map} +1 -1
  445. package/dist/vue3/chunks/stack_constants-HraCekPm.js.map +1 -1
  446. package/dist/vue3/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
  447. package/dist/vue3/chunks/{tab-qc3f42Yp.js → tab-X7IvNGTl.js} +46 -49
  448. package/dist/vue3/chunks/{tab-qc3f42Yp.js.map → tab-X7IvNGTl.js.map} +1 -1
  449. package/dist/vue3/chunks/{tab-RTDgnD9-.js → tab-aD6t0MNo.js} +46 -49
  450. package/dist/vue3/chunks/{tab-RTDgnD9-.js.map → tab-aD6t0MNo.js.map} +1 -1
  451. package/dist/vue3/common/constants.cjs.map +1 -1
  452. package/dist/vue3/common/constants.js.map +1 -1
  453. package/dist/vue3/common/dates.cjs +3 -1
  454. package/dist/vue3/common/dates.cjs.map +1 -1
  455. package/dist/vue3/common/dates.js +3 -1
  456. package/dist/vue3/common/dates.js.map +1 -1
  457. package/dist/vue3/common/emoji.cjs +1 -1
  458. package/dist/vue3/common/emoji.js +1 -1
  459. package/dist/vue3/common/mixins.cjs +3 -3
  460. package/dist/vue3/common/mixins.js +3 -3
  461. package/dist/vue3/common/utils.cjs +11 -45
  462. package/dist/vue3/common/utils.cjs.map +1 -1
  463. package/dist/vue3/common/utils.js +11 -45
  464. package/dist/vue3/common/utils.js.map +1 -1
  465. package/dist/vue3/common/validators.cjs.map +1 -1
  466. package/dist/vue3/common/validators.js.map +1 -1
  467. package/dist/vue3/component-documentation.json +1 -1
  468. package/dist/vue3/dialtone-vue.cjs +12 -12
  469. package/dist/vue3/dialtone-vue.js +12 -12
  470. package/dist/vue3/lib/attachment-carousel.cjs +87 -108
  471. package/dist/vue3/lib/attachment-carousel.cjs.map +1 -1
  472. package/dist/vue3/lib/attachment-carousel.js +87 -108
  473. package/dist/vue3/lib/attachment-carousel.js.map +1 -1
  474. package/dist/vue3/lib/avatar.cjs +56 -88
  475. package/dist/vue3/lib/avatar.cjs.map +1 -1
  476. package/dist/vue3/lib/avatar.js +56 -88
  477. package/dist/vue3/lib/avatar.js.map +1 -1
  478. package/dist/vue3/lib/badge.cjs +15 -31
  479. package/dist/vue3/lib/badge.cjs.map +1 -1
  480. package/dist/vue3/lib/badge.js +15 -31
  481. package/dist/vue3/lib/badge.js.map +1 -1
  482. package/dist/vue3/lib/banner.cjs +38 -56
  483. package/dist/vue3/lib/banner.cjs.map +1 -1
  484. package/dist/vue3/lib/banner.js +38 -56
  485. package/dist/vue3/lib/banner.js.map +1 -1
  486. package/dist/vue3/lib/breadcrumbs.cjs +25 -36
  487. package/dist/vue3/lib/breadcrumbs.cjs.map +1 -1
  488. package/dist/vue3/lib/breadcrumbs.js +25 -36
  489. package/dist/vue3/lib/breadcrumbs.js.map +1 -1
  490. package/dist/vue3/lib/button-group.cjs +2 -7
  491. package/dist/vue3/lib/button-group.cjs.map +1 -1
  492. package/dist/vue3/lib/button-group.js +2 -7
  493. package/dist/vue3/lib/button-group.js.map +1 -1
  494. package/dist/vue3/lib/button.cjs +44 -69
  495. package/dist/vue3/lib/button.cjs.map +1 -1
  496. package/dist/vue3/lib/button.js +44 -69
  497. package/dist/vue3/lib/button.js.map +1 -1
  498. package/dist/vue3/lib/callbar-button-with-popover.cjs +68 -81
  499. package/dist/vue3/lib/callbar-button-with-popover.cjs.map +1 -1
  500. package/dist/vue3/lib/callbar-button-with-popover.js +68 -81
  501. package/dist/vue3/lib/callbar-button-with-popover.js.map +1 -1
  502. package/dist/vue3/lib/callbar-button.cjs +32 -45
  503. package/dist/vue3/lib/callbar-button.cjs.map +1 -1
  504. package/dist/vue3/lib/callbar-button.js +32 -45
  505. package/dist/vue3/lib/callbar-button.js.map +1 -1
  506. package/dist/vue3/lib/callbox.cjs +38 -57
  507. package/dist/vue3/lib/callbox.cjs.map +1 -1
  508. package/dist/vue3/lib/callbox.js +38 -57
  509. package/dist/vue3/lib/callbox.js.map +1 -1
  510. package/dist/vue3/lib/card.cjs +13 -33
  511. package/dist/vue3/lib/card.cjs.map +1 -1
  512. package/dist/vue3/lib/card.js +13 -33
  513. package/dist/vue3/lib/card.js.map +1 -1
  514. package/dist/vue3/lib/checkbox-group.cjs +2 -5
  515. package/dist/vue3/lib/checkbox-group.cjs.map +1 -1
  516. package/dist/vue3/lib/checkbox-group.js +2 -5
  517. package/dist/vue3/lib/checkbox-group.js.map +1 -1
  518. package/dist/vue3/lib/checkbox.cjs +41 -45
  519. package/dist/vue3/lib/checkbox.cjs.map +1 -1
  520. package/dist/vue3/lib/checkbox.js +41 -45
  521. package/dist/vue3/lib/checkbox.js.map +1 -1
  522. package/dist/vue3/lib/chip.cjs +38 -53
  523. package/dist/vue3/lib/chip.cjs.map +1 -1
  524. package/dist/vue3/lib/chip.js +38 -53
  525. package/dist/vue3/lib/chip.js.map +1 -1
  526. package/dist/vue3/lib/codeblock.cjs +4 -6
  527. package/dist/vue3/lib/codeblock.cjs.map +1 -1
  528. package/dist/vue3/lib/codeblock.js +4 -6
  529. package/dist/vue3/lib/codeblock.js.map +1 -1
  530. package/dist/vue3/lib/collapsible.cjs +62 -76
  531. package/dist/vue3/lib/collapsible.cjs.map +1 -1
  532. package/dist/vue3/lib/collapsible.js +62 -76
  533. package/dist/vue3/lib/collapsible.js.map +1 -1
  534. package/dist/vue3/lib/combobox-multi-select.cjs +75 -88
  535. package/dist/vue3/lib/combobox-multi-select.cjs.map +1 -1
  536. package/dist/vue3/lib/combobox-multi-select.js +75 -88
  537. package/dist/vue3/lib/combobox-multi-select.js.map +1 -1
  538. package/dist/vue3/lib/combobox-with-popover.cjs +77 -85
  539. package/dist/vue3/lib/combobox-with-popover.cjs.map +1 -1
  540. package/dist/vue3/lib/combobox-with-popover.js +77 -85
  541. package/dist/vue3/lib/combobox-with-popover.js.map +1 -1
  542. package/dist/vue3/lib/combobox.cjs +3 -3
  543. package/dist/vue3/lib/combobox.js +3 -3
  544. package/dist/vue3/lib/contact-centers-row.cjs +65 -89
  545. package/dist/vue3/lib/contact-centers-row.cjs.map +1 -1
  546. package/dist/vue3/lib/contact-centers-row.js +65 -89
  547. package/dist/vue3/lib/contact-centers-row.js.map +1 -1
  548. package/dist/vue3/lib/contact-info.cjs +58 -73
  549. package/dist/vue3/lib/contact-info.cjs.map +1 -1
  550. package/dist/vue3/lib/contact-info.js +58 -73
  551. package/dist/vue3/lib/contact-info.js.map +1 -1
  552. package/dist/vue3/lib/contact-row.cjs +37 -47
  553. package/dist/vue3/lib/contact-row.cjs.map +1 -1
  554. package/dist/vue3/lib/contact-row.js +37 -47
  555. package/dist/vue3/lib/contact-row.js.map +1 -1
  556. package/dist/vue3/lib/datepicker.cjs +267 -263
  557. package/dist/vue3/lib/datepicker.cjs.map +1 -1
  558. package/dist/vue3/lib/datepicker.js +267 -263
  559. package/dist/vue3/lib/datepicker.js.map +1 -1
  560. package/dist/vue3/lib/description-list.cjs +9 -14
  561. package/dist/vue3/lib/description-list.cjs.map +1 -1
  562. package/dist/vue3/lib/description-list.js +9 -14
  563. package/dist/vue3/lib/description-list.js.map +1 -1
  564. package/dist/vue3/lib/dropdown.cjs +6 -6
  565. package/dist/vue3/lib/dropdown.cjs.map +1 -1
  566. package/dist/vue3/lib/dropdown.js +6 -6
  567. package/dist/vue3/lib/dropdown.js.map +1 -1
  568. package/dist/vue3/lib/editor.cjs +312 -249
  569. package/dist/vue3/lib/editor.cjs.map +1 -1
  570. package/dist/vue3/lib/editor.js +312 -249
  571. package/dist/vue3/lib/editor.js.map +1 -1
  572. package/dist/vue3/lib/emoji-picker.cjs +387 -419
  573. package/dist/vue3/lib/emoji-picker.cjs.map +1 -1
  574. package/dist/vue3/lib/emoji-picker.js +387 -419
  575. package/dist/vue3/lib/emoji-picker.js.map +1 -1
  576. package/dist/vue3/lib/emoji-row.cjs +59 -69
  577. package/dist/vue3/lib/emoji-row.cjs.map +1 -1
  578. package/dist/vue3/lib/emoji-row.js +59 -69
  579. package/dist/vue3/lib/emoji-row.js.map +1 -1
  580. package/dist/vue3/lib/emoji-text-wrapper.cjs +13 -12
  581. package/dist/vue3/lib/emoji-text-wrapper.cjs.map +1 -1
  582. package/dist/vue3/lib/emoji-text-wrapper.js +13 -12
  583. package/dist/vue3/lib/emoji-text-wrapper.js.map +1 -1
  584. package/dist/vue3/lib/emoji.cjs +19 -23
  585. package/dist/vue3/lib/emoji.cjs.map +1 -1
  586. package/dist/vue3/lib/emoji.js +19 -23
  587. package/dist/vue3/lib/emoji.js.map +1 -1
  588. package/dist/vue3/lib/empty-state.cjs +20 -30
  589. package/dist/vue3/lib/empty-state.cjs.map +1 -1
  590. package/dist/vue3/lib/empty-state.js +20 -30
  591. package/dist/vue3/lib/empty-state.js.map +1 -1
  592. package/dist/vue3/lib/feed-item-row.cjs +43 -74
  593. package/dist/vue3/lib/feed-item-row.cjs.map +1 -1
  594. package/dist/vue3/lib/feed-item-row.js +43 -74
  595. package/dist/vue3/lib/feed-item-row.js.map +1 -1
  596. package/dist/vue3/lib/feed-pill.cjs +45 -55
  597. package/dist/vue3/lib/feed-pill.cjs.map +1 -1
  598. package/dist/vue3/lib/feed-pill.js +45 -55
  599. package/dist/vue3/lib/feed-pill.js.map +1 -1
  600. package/dist/vue3/lib/general-row.cjs +115 -165
  601. package/dist/vue3/lib/general-row.cjs.map +1 -1
  602. package/dist/vue3/lib/general-row.js +115 -165
  603. package/dist/vue3/lib/general-row.js.map +1 -1
  604. package/dist/vue3/lib/group-row.cjs +7 -9
  605. package/dist/vue3/lib/group-row.cjs.map +1 -1
  606. package/dist/vue3/lib/group-row.js +7 -9
  607. package/dist/vue3/lib/group-row.js.map +1 -1
  608. package/dist/vue3/lib/grouped-chip.cjs +27 -48
  609. package/dist/vue3/lib/grouped-chip.cjs.map +1 -1
  610. package/dist/vue3/lib/grouped-chip.js +27 -48
  611. package/dist/vue3/lib/grouped-chip.js.map +1 -1
  612. package/dist/vue3/lib/hovercard.cjs +25 -33
  613. package/dist/vue3/lib/hovercard.cjs.map +1 -1
  614. package/dist/vue3/lib/hovercard.js +25 -33
  615. package/dist/vue3/lib/hovercard.js.map +1 -1
  616. package/dist/vue3/lib/icon.cjs +1 -1
  617. package/dist/vue3/lib/icon.cjs.map +1 -1
  618. package/dist/vue3/lib/icon.js +1 -1
  619. package/dist/vue3/lib/icon.js.map +1 -1
  620. package/dist/vue3/lib/illustration.cjs +2 -1
  621. package/dist/vue3/lib/illustration.cjs.map +1 -1
  622. package/dist/vue3/lib/illustration.js +2 -1
  623. package/dist/vue3/lib/illustration.js.map +1 -1
  624. package/dist/vue3/lib/image-viewer.cjs +62 -66
  625. package/dist/vue3/lib/image-viewer.cjs.map +1 -1
  626. package/dist/vue3/lib/image-viewer.js +62 -66
  627. package/dist/vue3/lib/image-viewer.js.map +1 -1
  628. package/dist/vue3/lib/input-group.cjs +15 -19
  629. package/dist/vue3/lib/input-group.cjs.map +1 -1
  630. package/dist/vue3/lib/input-group.js +15 -19
  631. package/dist/vue3/lib/input-group.js.map +1 -1
  632. package/dist/vue3/lib/input.cjs +76 -104
  633. package/dist/vue3/lib/input.cjs.map +1 -1
  634. package/dist/vue3/lib/input.js +76 -104
  635. package/dist/vue3/lib/input.js.map +1 -1
  636. package/dist/vue3/lib/item-layout.cjs +10 -27
  637. package/dist/vue3/lib/item-layout.cjs.map +1 -1
  638. package/dist/vue3/lib/item-layout.js +10 -27
  639. package/dist/vue3/lib/item-layout.js.map +1 -1
  640. package/dist/vue3/lib/ivr-node.cjs +80 -89
  641. package/dist/vue3/lib/ivr-node.cjs.map +1 -1
  642. package/dist/vue3/lib/ivr-node.js +80 -89
  643. package/dist/vue3/lib/ivr-node.js.map +1 -1
  644. package/dist/vue3/lib/keyboard-shortcut.cjs +26 -31
  645. package/dist/vue3/lib/keyboard-shortcut.cjs.map +1 -1
  646. package/dist/vue3/lib/keyboard-shortcut.js +26 -31
  647. package/dist/vue3/lib/keyboard-shortcut.js.map +1 -1
  648. package/dist/vue3/lib/lazy-show.cjs +6 -8
  649. package/dist/vue3/lib/lazy-show.cjs.map +1 -1
  650. package/dist/vue3/lib/lazy-show.js +6 -8
  651. package/dist/vue3/lib/lazy-show.js.map +1 -1
  652. package/dist/vue3/lib/link.cjs +2 -7
  653. package/dist/vue3/lib/link.cjs.map +1 -1
  654. package/dist/vue3/lib/link.js +2 -7
  655. package/dist/vue3/lib/link.js.map +1 -1
  656. package/dist/vue3/lib/list-item-group.cjs +7 -14
  657. package/dist/vue3/lib/list-item-group.cjs.map +1 -1
  658. package/dist/vue3/lib/list-item-group.js +7 -14
  659. package/dist/vue3/lib/list-item-group.js.map +1 -1
  660. package/dist/vue3/lib/list-item.cjs +24 -25
  661. package/dist/vue3/lib/list-item.cjs.map +1 -1
  662. package/dist/vue3/lib/list-item.js +24 -25
  663. package/dist/vue3/lib/list-item.js.map +1 -1
  664. package/dist/vue3/lib/message-input.cjs +227 -264
  665. package/dist/vue3/lib/message-input.cjs.map +1 -1
  666. package/dist/vue3/lib/message-input.js +227 -264
  667. package/dist/vue3/lib/message-input.js.map +1 -1
  668. package/dist/vue3/lib/modal.cjs +59 -99
  669. package/dist/vue3/lib/modal.cjs.map +1 -1
  670. package/dist/vue3/lib/modal.js +59 -99
  671. package/dist/vue3/lib/modal.js.map +1 -1
  672. package/dist/vue3/lib/notice.cjs +33 -46
  673. package/dist/vue3/lib/notice.cjs.map +1 -1
  674. package/dist/vue3/lib/notice.js +33 -46
  675. package/dist/vue3/lib/notice.js.map +1 -1
  676. package/dist/vue3/lib/pagination.cjs +49 -61
  677. package/dist/vue3/lib/pagination.cjs.map +1 -1
  678. package/dist/vue3/lib/pagination.js +49 -61
  679. package/dist/vue3/lib/pagination.js.map +1 -1
  680. package/dist/vue3/lib/popover.cjs +133 -156
  681. package/dist/vue3/lib/popover.cjs.map +1 -1
  682. package/dist/vue3/lib/popover.js +134 -157
  683. package/dist/vue3/lib/popover.js.map +1 -1
  684. package/dist/vue3/lib/presence.cjs +9 -17
  685. package/dist/vue3/lib/presence.cjs.map +1 -1
  686. package/dist/vue3/lib/presence.js +9 -17
  687. package/dist/vue3/lib/presence.js.map +1 -1
  688. package/dist/vue3/lib/radio-group.cjs +1 -1
  689. package/dist/vue3/lib/radio-group.cjs.map +1 -1
  690. package/dist/vue3/lib/radio-group.js +1 -1
  691. package/dist/vue3/lib/radio-group.js.map +1 -1
  692. package/dist/vue3/lib/radio.cjs +34 -41
  693. package/dist/vue3/lib/radio.cjs.map +1 -1
  694. package/dist/vue3/lib/radio.js +34 -41
  695. package/dist/vue3/lib/radio.js.map +1 -1
  696. package/dist/vue3/lib/rich-text-editor.cjs +292 -288
  697. package/dist/vue3/lib/rich-text-editor.cjs.map +1 -1
  698. package/dist/vue3/lib/rich-text-editor.js +292 -288
  699. package/dist/vue3/lib/rich-text-editor.js.map +1 -1
  700. package/dist/vue3/lib/root-layout.cjs +24 -39
  701. package/dist/vue3/lib/root-layout.cjs.map +1 -1
  702. package/dist/vue3/lib/root-layout.js +24 -39
  703. package/dist/vue3/lib/root-layout.js.map +1 -1
  704. package/dist/vue3/lib/scrollbar-directive.cjs.map +1 -1
  705. package/dist/vue3/lib/scrollbar-directive.js.map +1 -1
  706. package/dist/vue3/lib/scroller.cjs +100 -83
  707. package/dist/vue3/lib/scroller.cjs.map +1 -1
  708. package/dist/vue3/lib/scroller.js +100 -83
  709. package/dist/vue3/lib/scroller.js.map +1 -1
  710. package/dist/vue3/lib/select-menu.cjs +40 -67
  711. package/dist/vue3/lib/select-menu.cjs.map +1 -1
  712. package/dist/vue3/lib/select-menu.js +40 -67
  713. package/dist/vue3/lib/select-menu.js.map +1 -1
  714. package/dist/vue3/lib/settings-menu-button.cjs +10 -16
  715. package/dist/vue3/lib/settings-menu-button.cjs.map +1 -1
  716. package/dist/vue3/lib/settings-menu-button.js +10 -16
  717. package/dist/vue3/lib/settings-menu-button.js.map +1 -1
  718. package/dist/vue3/lib/skeleton.cjs +74 -93
  719. package/dist/vue3/lib/skeleton.cjs.map +1 -1
  720. package/dist/vue3/lib/skeleton.js +74 -93
  721. package/dist/vue3/lib/skeleton.js.map +1 -1
  722. package/dist/vue3/lib/split-button.cjs +68 -74
  723. package/dist/vue3/lib/split-button.cjs.map +1 -1
  724. package/dist/vue3/lib/split-button.js +68 -74
  725. package/dist/vue3/lib/split-button.js.map +1 -1
  726. package/dist/vue3/lib/stack.cjs +18 -26
  727. package/dist/vue3/lib/stack.cjs.map +1 -1
  728. package/dist/vue3/lib/stack.js +18 -26
  729. package/dist/vue3/lib/stack.js.map +1 -1
  730. package/dist/vue3/lib/tabs.cjs +3 -7
  731. package/dist/vue3/lib/tabs.cjs.map +1 -1
  732. package/dist/vue3/lib/tabs.js +3 -7
  733. package/dist/vue3/lib/tabs.js.map +1 -1
  734. package/dist/vue3/lib/time-pill.cjs.map +1 -1
  735. package/dist/vue3/lib/time-pill.js.map +1 -1
  736. package/dist/vue3/lib/toast.cjs +35 -51
  737. package/dist/vue3/lib/toast.cjs.map +1 -1
  738. package/dist/vue3/lib/toast.js +35 -51
  739. package/dist/vue3/lib/toast.js.map +1 -1
  740. package/dist/vue3/lib/toggle.cjs +24 -34
  741. package/dist/vue3/lib/toggle.cjs.map +1 -1
  742. package/dist/vue3/lib/toggle.js +24 -34
  743. package/dist/vue3/lib/toggle.js.map +1 -1
  744. package/dist/vue3/lib/tooltip-directive.cjs +26 -19
  745. package/dist/vue3/lib/tooltip-directive.cjs.map +1 -1
  746. package/dist/vue3/lib/tooltip-directive.js +26 -19
  747. package/dist/vue3/lib/tooltip-directive.js.map +1 -1
  748. package/dist/vue3/lib/tooltip.cjs +21 -32
  749. package/dist/vue3/lib/tooltip.cjs.map +1 -1
  750. package/dist/vue3/lib/tooltip.js +22 -33
  751. package/dist/vue3/lib/tooltip.js.map +1 -1
  752. package/dist/vue3/lib/top-banner-info.cjs +8 -23
  753. package/dist/vue3/lib/top-banner-info.cjs.map +1 -1
  754. package/dist/vue3/lib/top-banner-info.js +8 -23
  755. package/dist/vue3/lib/top-banner-info.js.map +1 -1
  756. package/dist/vue3/lib/unread-pill.cjs +8 -11
  757. package/dist/vue3/lib/unread-pill.cjs.map +1 -1
  758. package/dist/vue3/lib/unread-pill.js +8 -11
  759. package/dist/vue3/lib/unread-pill.js.map +1 -1
  760. package/dist/vue3/lib/validation-messages.cjs +14 -17
  761. package/dist/vue3/lib/validation-messages.cjs.map +1 -1
  762. package/dist/vue3/lib/validation-messages.js +14 -17
  763. package/dist/vue3/lib/validation-messages.js.map +1 -1
  764. package/dist/vue3/types/components/button/button.vue.d.ts +1 -1
  765. package/dist/vue3/types/components/chip/chip.vue.d.ts +1 -1
  766. package/dist/vue3/types/components/combobox/combobox.vue.d.ts +1 -1
  767. package/dist/vue3/types/components/datepicker/modules/month-year-picker.vue.d.ts +1 -1
  768. package/dist/vue3/types/components/icon/icon.vue.d.ts +2 -2
  769. package/dist/vue3/types/components/icon/icon_constants.d.ts +1 -1
  770. package/dist/vue3/types/components/icon/icon_constants.d.ts.map +1 -1
  771. package/dist/vue3/types/components/illustration/illustration_constants.d.ts +1 -1
  772. package/dist/vue3/types/components/illustration/illustration_constants.d.ts.map +1 -1
  773. package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts +21 -0
  774. package/dist/vue3/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  775. package/dist/vue3/types/components/input/input.vue.d.ts +1 -1
  776. package/dist/vue3/types/components/modal/modal.vue.d.ts +1 -1
  777. package/dist/vue3/types/components/notice/notice.vue.d.ts +1 -1
  778. package/dist/vue3/types/components/radio/radio.vue.d.ts +1 -1
  779. package/dist/vue3/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
  780. package/dist/vue3/types/components/scroller/modules/scroller_item.vue.d.ts +1 -1
  781. package/dist/vue3/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
  782. package/dist/vue3/types/components/tabs/tab.vue.d.ts +1 -1
  783. package/dist/vue3/types/components/toast/toast.vue.d.ts +2 -2
  784. package/dist/vue3/types/components/tooltip/tooltip.vue.d.ts +1 -1
  785. package/dist/vue3/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
  786. package/dist/vue3/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
  787. package/dist/vue3/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
  788. package/package.json +3 -3
  789. package/dist/vue2/chunks/icon_constants-Dy4MEUJL.js.map +0 -1
  790. package/dist/vue2/chunks/icon_constants-QYpmdE0R.js.map +0 -1
  791. package/dist/vue3/chunks/icon_constants-Dy4MEUJL.js.map +0 -1
  792. package/dist/vue3/chunks/icon_constants-QYpmdE0R.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":[],"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;;;;;;;;;;;;;;;;;;;;;;"}
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;;;;;;;;;;;;;;;"}
@@ -24,22 +24,15 @@ 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", { class: [
28
- "d-btn-group",
29
- _vm.BUTTON_GROUP_ALIGNMENT[_vm.alignment]
30
- ], attrs: { "role": "group" } }, [_vm._t("default")], 2);
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);
31
33
  };
32
34
  var _sfc_staticRenderFns = [];
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
- );
35
+ var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
43
36
  const button_group = __component__.exports;
44
37
  export {
45
38
  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":[],"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;;;;;;;;;;;;;;;;;;;;"}
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;;;;;;;;;;;;;"}
@@ -28,32 +28,27 @@ 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
- {
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
- ];
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
+ }];
57
52
  const BUTTON_ICON_SIZES = {
58
53
  xs: "200",
59
54
  sm: "200",
@@ -279,25 +274,15 @@ const _sfc_main = {
279
274
  methods: {
280
275
  buttonClasses() {
281
276
  if (this.link) {
282
- return [
283
- "d-link",
284
- link_constants.getLinkKindModifier(this.linkKind, this.linkInverted),
285
- BUTTON_SIZE_MODIFIERS[this.size]
286
- ];
277
+ return ["d-link", link_constants.getLinkKindModifier(this.linkKind, this.linkInverted), BUTTON_SIZE_MODIFIERS[this.size]];
287
278
  }
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
- ];
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
+ }];
301
286
  },
302
287
  isInvalidPropCombination(circle, kind, importance) {
303
288
  for (const row of INVALID_COMBINATION) {
@@ -321,26 +306,34 @@ const _sfc_main = {
321
306
  };
322
307
  var _sfc_render = function render() {
323
308
  var _vm = this, _c = _vm._self._c;
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()]);
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()]);
332
334
  };
333
335
  var _sfc_staticRenderFns = [];
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
- );
336
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
344
337
  const DtButton = __component__.exports;
345
338
  exports.BUTTON_ICON_SIZES = BUTTON_ICON_SIZES;
346
339
  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":["LINK_KIND_MODIFIERS","getLinkKindModifier"],"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":["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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"}
@@ -26,32 +26,27 @@ 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
- {
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
- ];
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
+ }];
55
50
  const BUTTON_ICON_SIZES = {
56
51
  xs: "200",
57
52
  sm: "200",
@@ -277,25 +272,15 @@ const _sfc_main = {
277
272
  methods: {
278
273
  buttonClasses() {
279
274
  if (this.link) {
280
- return [
281
- "d-link",
282
- getLinkKindModifier(this.linkKind, this.linkInverted),
283
- BUTTON_SIZE_MODIFIERS[this.size]
284
- ];
275
+ return ["d-link", getLinkKindModifier(this.linkKind, this.linkInverted), BUTTON_SIZE_MODIFIERS[this.size]];
285
276
  }
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
- ];
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
+ }];
299
284
  },
300
285
  isInvalidPropCombination(circle, kind, importance) {
301
286
  for (const row of INVALID_COMBINATION) {
@@ -319,26 +304,34 @@ const _sfc_main = {
319
304
  };
320
305
  var _sfc_render = function render() {
321
306
  var _vm = this, _c = _vm._self._c;
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()]);
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()]);
330
332
  };
331
333
  var _sfc_staticRenderFns = [];
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
- );
334
+ var __component__ = /* @__PURE__ */ normalizeComponent(_sfc_main, _sfc_render, _sfc_staticRenderFns, false, null, null, null, null);
342
335
  const DtButton = __component__.exports;
343
336
  export {
344
337
  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":[],"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":["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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"}